public 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 and Description |
|---|
RandomAccessBufferedFileInputStream(java.io.File _file)
Create input stream instance for given file.
|
| Modifier and Type | Method and Description |
|---|---|
int |
available() |
void |
close()
Release resources that are being held.
|
long |
getFilePointer()
Deprecated.
use
getPosition() instead |
long |
getPosition()
Returns offset in file at which next byte would be read.
|
long |
length()
The total number of bytes that are available.
|
int |
read()
Read a single byte of data.
|
int |
read(byte[] b,
int off,
int len)
Read a buffer of data.
|
void |
seek(long newOffset)
Seeks to new position.
|
long |
skip(long n) |
public RandomAccessBufferedFileInputStream(java.io.File _file)
throws java.io.FileNotFoundException,
java.io.IOException
java.io.FileNotFoundExceptionjava.io.IOExceptionpublic long getFilePointer()
getPosition() insteadpublic long getPosition()
getPosition in interface RandomAccessReadSequentialRead.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 there is an error while seeking.public int read()
throws java.io.IOException
SequentialReadread in interface SequentialReadread in class java.io.InputStreamjava.io.IOException - If there is an error while reading the data.public int read(byte[] b,
int off,
int len)
throws java.io.IOException
SequentialReadread in interface SequentialReadread 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
available in class java.io.InputStreamjava.io.IOExceptionpublic 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
SequentialReadclose in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in interface SequentialReadclose in class java.io.InputStreamjava.io.IOException - If there is an error closing this resource.