java.io.Closeable, java.lang.AutoCloseable, RandomAccessReadpublic class RandomAccessBufferedFileInputStream extends java.io.InputStream implements RandomAccessRead
InputStream access to portions of a file combined with
buffered reading of content. Start of next bytes to read can be set via seek
method.
File is accessed via RandomAccessFile and is read in byte chunks
which are cached.| Constructor | Description |
|---|---|
RandomAccessBufferedFileInputStream(java.io.File file) |
Create a random access input stream instance for the given file.
|
RandomAccessBufferedFileInputStream(java.io.InputStream input) |
Create a random access input stream for the given input stream by copying the data to a
temporary file.
|
RandomAccessBufferedFileInputStream(java.lang.String filename) |
Create a random access input stream instance for the file with the given name.
|
| Modifier and Type | Method | Description |
|---|---|---|
int |
available() |
Returns an estimate of the number of bytes that can be read.
|
void |
close() |
|
long |
getPosition() |
Returns offset in file at which next byte would be read.
|
boolean |
isClosed() |
Returns true if this stream has been closed.
|
boolean |
isEOF() |
A simple test to see if we are at the end of the data.
|
long |
length() |
The total number of bytes that are available.
|
int |
peek() |
This will peek at the next byte.
|
int |
read() |
Read a single byte of data.
|
int |
read(byte[] b) |
Read a buffer of data.
|
int |
read(byte[] b,
int off,
int len) |
Read a buffer of data.
|
byte[] |
readFully(int length) |
Reads a given number of bytes.
|
void |
rewind(int bytes) |
Seek backwards the given number of bytes.
|
void |
seek(long newOffset) |
Seeks to new position.
|
long |
skip(long n) |
public RandomAccessBufferedFileInputStream(java.lang.String filename)
throws java.io.IOException
filename - the filename of the file to be read.java.io.IOException - if something went wrong while accessing the given file.public RandomAccessBufferedFileInputStream(java.io.File file)
throws java.io.IOException
file - the file to be read.java.io.IOException - if something went wrong while accessing the given file.public RandomAccessBufferedFileInputStream(java.io.InputStream input)
throws java.io.IOException
input - the input stream to be read. It will be closed by this method.java.io.IOException - if something went wrong while creating the temporary file.public long getPosition()
getPosition in interface RandomAccessReadRandomAccessRead.read()
(if no more bytes are left it returns a value >= length of source)public void seek(long newOffset)
throws java.io.IOException
seek in interface RandomAccessReadnewOffset - the position to seek to.java.io.IOException - if something went wrong.public int read()
throws java.io.IOException
RandomAccessReadread in interface RandomAccessReadread in class java.io.InputStreamjava.io.IOException - If there is an error while reading the data.public int read(byte[] b)
throws java.io.IOException
RandomAccessReadread in interface RandomAccessReadread in class java.io.InputStreamb - The buffer to write the data to.java.io.IOException - If there was an error while reading the data.public int read(byte[] b,
int off,
int len)
throws java.io.IOException
RandomAccessReadread in interface RandomAccessReadread in class java.io.InputStreamb - The buffer to write the data to.off - Offset into the buffer to start writing.len - The amount of data to attempt to read.java.io.IOException - If there was an error while reading the data.public int available()
throws java.io.IOException
RandomAccessReadavailable in interface RandomAccessReadavailable in class java.io.InputStreamjava.io.IOException - if this random access has been closedpublic long skip(long n)
throws java.io.IOException
skip in class java.io.InputStreamjava.io.IOExceptionpublic long length()
throws java.io.IOException
RandomAccessReadlength in interface RandomAccessReadjava.io.IOException - If there is an IO error while determining the
length of the data stream.public void close()
throws java.io.IOException
close in interface java.lang.AutoCloseableclose in interface java.io.Closeableclose in class java.io.InputStreamjava.io.IOExceptionpublic boolean isClosed()
RandomAccessReadisClosed in interface RandomAccessReadpublic int peek()
throws java.io.IOException
RandomAccessReadpeek in interface RandomAccessReadjava.io.IOException - If there is an error reading the next byte.public void rewind(int bytes)
throws java.io.IOException
RandomAccessReadrewind in interface RandomAccessReadbytes - the number of bytes to be seeked backwardsjava.io.IOException - If there is an error while seekingpublic byte[] readFully(int length)
throws java.io.IOException
RandomAccessReadreadFully in interface RandomAccessReadlength - the number of bytes to be readjava.io.IOException - if an I/O error occurs while reading datapublic boolean isEOF()
throws java.io.IOException
RandomAccessReadisEOF in interface RandomAccessReadjava.io.IOException - If there is an error reading the next byte.Copyright © 2002–2018. All rights reserved.