Package org.apache.commons.io.input
Class RandomAccessFileInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.apache.commons.io.input.RandomAccessFileInputStream
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class RandomAccessFileInputStream extends InputStream
Streams data from aRandomAccessFile
starting at its current position.- Since:
- 2.8.0
-
-
Constructor Summary
Constructors Constructor Description RandomAccessFileInputStream(RandomAccessFile file)
Constructs a new instance configured to leave the underlying file open when this stream is closed.RandomAccessFileInputStream(RandomAccessFile file, boolean closeOnClose)
Constructs a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
available()
Returns an estimate of the number of bytes that can be read (or skipped over) from this input stream.long
availableLong()
Returns the number of bytes that can be read (or skipped over) from this input stream.void
close()
RandomAccessFile
getRandomAccessFile()
Gets the underlying file.boolean
isCloseOnClose()
Returns whether to close the underlying file when this stream is closed.int
read()
int
read(byte[] bytes)
int
read(byte[] bytes, int offset, int length)
long
skip(long skipCount)
-
Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, readAllBytes, readNBytes, readNBytes, reset, transferTo
-
-
-
-
Constructor Detail
-
RandomAccessFileInputStream
public RandomAccessFileInputStream(RandomAccessFile file)
Constructs a new instance configured to leave the underlying file open when this stream is closed.- Parameters:
file
- The file to stream.
-
RandomAccessFileInputStream
public RandomAccessFileInputStream(RandomAccessFile file, boolean closeOnClose)
Constructs a new instance.- Parameters:
file
- The file to stream.closeOnClose
- Whether to close the underlying file when this stream is closed.
-
-
Method Detail
-
available
public int available() throws IOException
Returns an estimate of the number of bytes that can be read (or skipped over) from this input stream. If there are more thanInteger.MAX_VALUE
bytes available, returnInteger.MAX_VALUE
.- Overrides:
available
in classInputStream
- Returns:
- An estimate of the number of bytes that can be read.
- Throws:
IOException
- If an I/O error occurs.
-
availableLong
public long availableLong() throws IOException
Returns the number of bytes that can be read (or skipped over) from this input stream.- Returns:
- The number of bytes that can be read.
- Throws:
IOException
- If an I/O error occurs.
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classInputStream
- Throws:
IOException
-
getRandomAccessFile
public RandomAccessFile getRandomAccessFile()
Gets the underlying file.- Returns:
- the underlying file.
-
isCloseOnClose
public boolean isCloseOnClose()
Returns whether to close the underlying file when this stream is closed.- Returns:
- Whether to close the underlying file when this stream is closed.
-
read
public int read() throws IOException
- Specified by:
read
in classInputStream
- Throws:
IOException
-
read
public int read(byte[] bytes) throws IOException
- Overrides:
read
in classInputStream
- Throws:
IOException
-
read
public int read(byte[] bytes, int offset, int length) throws IOException
- Overrides:
read
in classInputStream
- Throws:
IOException
-
skip
public long skip(long skipCount) throws IOException
- Overrides:
skip
in classInputStream
- Throws:
IOException
-
-