-
- All Known Implementing Classes:
- SharedByteArrayInputStream, SharedFileInputStream
public interface SharedInputStream
An InputStream that is backed by data that can be shared by multiple readers may implement this interface. This allows users of such an InputStream to determine the current position in the InputStream, and to create new InputStreams representing a subset of the data in the original InputStream. The new InputStream will access the same underlying data as the original, without copying the data.Note that implementations of this interface must ensure that the
close
method does not close any underlying stream that might be shared by multiple instances ofSharedInputStream
until all shared instances have been closed.- Since:
- JavaMail 1.2
- Author:
- Bill Shannon
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description long
getPosition()
Return the current position in the InputStream, as an offset from the beginning of the InputStream.InputStream
newStream(long start, long end)
Return a new InputStream representing a subset of the data from this InputStream, starting atstart
(inclusive) up toend
(exclusive).
-
-
-
Method Detail
-
getPosition
long getPosition()
Return the current position in the InputStream, as an offset from the beginning of the InputStream.- Returns:
- the current position
-
newStream
InputStream newStream(long start, long end)
Return a new InputStream representing a subset of the data from this InputStream, starting atstart
(inclusive) up toend
(exclusive).start
must be non-negative. Ifend
is -1, the new stream ends at the same place as this stream. The returned InputStream will also implement the SharedInputStream interface.- Parameters:
start
- the starting positionend
- the ending position + 1- Returns:
- the new stream
-
-
Document created the 11/06/2005, last modified the 18/08/2025
Source of the printed document:https://www.gaudry.be/en/java-api-javaee-rf-javax/mail/internet/SharedInputStream.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author of this site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.