Package org.apache.commons.io.input
Class RandomAccessFileInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.apache.commons.io.input.RandomAccessFileInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public class RandomAccessFileInputStream extends java.io.InputStream
Streams data from aRandomAccessFile
starting at its current position.- Since:
- 2.8.0
-
-
Constructor Summary
Constructors Constructor Description RandomAccessFileInputStream(java.io.RandomAccessFile file)
Constructs a new instance configured to leave the underlying file open when this stream is closed.RandomAccessFileInputStream(java.io.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()
java.io.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)
-
-
-
Constructor Detail
-
RandomAccessFileInputStream
public RandomAccessFileInputStream(java.io.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(java.io.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 java.io.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 classjava.io.InputStream
- Returns:
- An estimate of the number of bytes that can be read.
- Throws:
java.io.IOException
- If an I/O error occurs.
-
availableLong
public long availableLong() throws java.io.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:
java.io.IOException
- If an I/O error occurs.
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
- Throws:
java.io.IOException
-
getRandomAccessFile
public java.io.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 java.io.IOException
- Specified by:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] bytes) throws java.io.IOException
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] bytes, int offset, int length) throws java.io.IOException
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
skip
public long skip(long skipCount) throws java.io.IOException
- Overrides:
skip
in classjava.io.InputStream
- Throws:
java.io.IOException
-
-