|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ReadableChannel
Readable random access byte channel from a file.
Method Summary | |
---|---|
int |
blockSize()
Get the recommended alignment for reads. |
long |
position()
Get the current position of the channel. |
void |
position(long newPosition)
Seek the current position of the channel to a new offset. |
long |
size()
Get the total size of the channel. |
Methods inherited from interface java.nio.channels.ReadableByteChannel |
---|
read |
Methods inherited from interface java.nio.channels.Channel |
---|
close, isOpen |
Method Detail |
---|
long position() throws IOException
IOException
- the channel's current position cannot be obtained.void position(long newPosition) throws IOException
newPosition
- position to move the channel to. The next read will start from
here. This should be a multiple of the blockSize()
.
IOException
- the position cannot be updated. This may be because the
channel only supports block aligned IO and the current
position is not block aligned.long size() throws IOException
Prior to reading from a channel the size might not yet be known. Implementors may return -1 until after the first read method call. Once a read has been completed, the underlying file size should be available.
IOException
- the size cannot be determined.int blockSize()
Starting a read at multiples of the blockSize is more efficient than starting a read at any other position. If 0 or -1 the channel does not have any specific block size recommendation.
Channels should not recommend large block sizes. Sizes up to 1-4 MiB may
be reasonable, but sizes above that may be horribly inefficient. The
DfsBlockCache
favors the alignment suggested by the channel
rather than the configured size under the assumption that reads are very
expensive and the channel knows what size is best to access it with.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |