Package com.adobe.internal.io
Interface ByteReader
-
- All Known Subinterfaces:
ByteWriter
- All Known Implementing Classes:
ByteArrayByteReader,ByteArrayByteWriter,ByteBufferByteReader,ByteBufferByteWriter,FilterByteReader,FilterByteWriter,InputStreamByteReader,InputStreamByteWriter,LazyRandomAccessFileByteReader,LazyRandomAccessFileByteWriter,MemoryMappedByteWriter,NonCachedRandomAccessFileByteReader,NonCachedRandomAccessFileByteWriter,RandomAccessFileByteReader,RandomAccessFileByteWriter,RangedByteWriter
public interface ByteReaderThe
ByteReaderprovides an abstraction to a linear, zero-based, semi-infinite array of bytes that can be read from at any point. The actual repository can store these bytes in any manner that best fits the storage medium but the view on them provided by this interface must be as above.
-
-
Field Summary
Fields Modifier and Type Field Description static intEOFThe value returned when reads occur outside of the legal range.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidclose()Closes thisByteReaderand releases any system resources associated with this stream.longlength()Returns the number of total bytes in the repository that are visible through this API.intread(long position)Read a single byte from the underlying bytes at the given position.intread(long position, byte[] b, int offset, int length)Transfers bytes from the underlying repository into the given destination array.
-
-
-
Field Detail
-
EOF
static final int EOF
The value returned when reads occur outside of the legal range.- See Also:
- Constant Field Values
-
-
Method Detail
-
read
int read(long position) throws java.io.IOException
Read a single byte from the underlying bytes at the given position.- Parameters:
position- the position to read the byte from.- Returns:
- the byte at the postion or EOF if the position is outside of the legal range.
- Throws:
java.io.IOException- if an error occurs during the read operation
-
read
int read(long position, byte[] b, int offset, int length) throws java.io.IOExceptionTransfers bytes from the underlying repository into the given destination array. Copy up tolengthbytes from the repository starting at the postion given into the given array starting at the given offset.- Parameters:
position- the position to read the byte from.b- the array to write the bytes into.offset- the offset in the array at which the first byte is written.length- the maximum number of bytes to write into the array.- Returns:
- the number of bytes actually written to the array.
- Throws:
java.io.IOException- if an error occurs during the read operation
-
length
long length() throws java.io.IOExceptionReturns the number of total bytes in the repository that are visible through this API.- Returns:
- the number of bytes in the repository.
- Throws:
java.io.IOException- if an error occurs while trying to determine the length
-
close
void close() throws java.io.IOExceptionCloses thisByteReaderand releases any system resources associated with this stream.- Throws:
java.io.IOException- if an error occurs while trying to close
-
-