public class RereadableInputStream
extends java.io.InputStream
Constructor and Description |
---|
RereadableInputStream(java.io.InputStream inputStream,
int maxBytesInMemory,
boolean readToEndOfStreamOnFirstRewind,
boolean closeOriginalStreamOnClose)
Creates a rereadable input stream.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the input stream and removes the temporary file if one was
created.
|
int |
getSize()
Returns the number of bytes read from the original stream.
|
int |
read()
Reads a byte from the stream, saving it in the store if it is being
read from the original stream.
|
void |
rewind()
"Rewinds" the stream to the beginning for rereading.
|
public RereadableInputStream(java.io.InputStream inputStream, int maxBytesInMemory, boolean readToEndOfStreamOnFirstRewind, boolean closeOriginalStreamOnClose)
inputStream
- stream containing the source of datamaxBytesInMemory
- maximum number of bytes to use to store
the stream's contents in memory before switching to disk; note that
the instance will preallocate a byte array whose size is
maxBytesInMemory. This byte array will be made available for
garbage collection (i.e. its reference set to null) when the
content size exceeds the array's size, when close() is called, or
when there are no more references to the instance.readToEndOfStreamOnFirstRewind
- Specifies whether or not to
read to the end of stream on first rewind. If this is set to false,
then when rewind() is first called, only those bytes already read
from the original stream will be available from then on.public int read() throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
public void rewind() throws java.io.IOException
java.io.IOException
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.InputStream
java.io.IOException
public int getSize()
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"