public class RereadableInputStream extends InputStream
Constructor and Description |
---|
RereadableInputStream(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.
|
available, mark, markSupported, read, read, reset, skip
public RereadableInputStream(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 IOException
read
in class InputStream
IOException
public void rewind() throws IOException
IOException
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in class InputStream
IOException
public int getSize()
Copyright © 2007-2015 The Apache Software Foundation. All Rights Reserved.