接口 RandomAccessData
- 所有已知实现类:
RandomAccessDataFile
public interface RandomAccessData
Interface that provides read-only random access to some underlying data. Implementations must allow concurrent reads in a thread-safe manner.
方法概要
所有方法 实例方法 抽象方法 修饰符和类型 方法 说明 InputStream
getInputStream()
Returns anInputStream
that can be used to read the underlying data.long
getSize()
Returns the size of the data.RandomAccessData
getSubsection(long offset, long length)
Returns a newRandomAccessData
for a specific subsection of this data.byte[]
read()
Reads all the data and returns it as a byte array.byte[]
read(long offset, long length)
Reads thelength
bytes of data starting at the givenoffset
.
方法详细资料
getInputStream
InputStream getInputStream() throws IOException
Returns anInputStream
that can be used to read the underlying data. The caller is responsible close the underlying stream.- 返回:
- a new input stream that can be used to read the underlying data.
- 抛出:
IOException
- if the stream cannot be opened
getSubsection
RandomAccessData getSubsection(long offset, long length)
Returns a newRandomAccessData
for a specific subsection of this data.- 参数:
offset
- the offset of the subsectionlength
- the length of the subsection- 返回:
- the subsection data
read
byte[] read() throws IOException
Reads all the data and returns it as a byte array.- 返回:
- the data
- 抛出:
IOException
- if the data cannot be read
read
byte[] read(long offset, long length) throws IOException
Reads thelength
bytes of data starting at the givenoffset
.- 参数:
offset
- the offset from which data should be readlength
- the number of bytes to be read- 返回:
- the data
- 抛出:
IOException
- if the data cannot be readIndexOutOfBoundsException
- if offset is beyond the end of the file or subsectionEOFException
- if offset plus length is greater than the length of the file or subsection
getSize
long getSize()
Returns the size of the data.- 返回:
- the size