|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.io.InputStream java.io.FilterInputStream java.io.DataInputStream org.apache.hadoop.fs.FSDataInputStream
@InterfaceAudience.Public @InterfaceStability.Stable public class FSDataInputStream
Utility that wraps a FSInputStream
in a DataInputStream
and buffers input through a BufferedInputStream
.
Field Summary |
---|
Fields inherited from class java.io.FilterInputStream |
---|
in |
Constructor Summary | |
---|---|
FSDataInputStream(InputStream in)
|
Method Summary | |
---|---|
FileDescriptor |
getFileDescriptor()
|
long |
getPos()
Get the current position in the input stream. |
int |
read(ByteBuffer buf)
Reads up to buf.remaining() bytes into buf. |
ByteBuffer |
read(ByteBufferPool bufferPool,
int maxLength)
|
ByteBuffer |
read(ByteBufferPool bufferPool,
int maxLength,
EnumSet<ReadOption> opts)
Get a ByteBuffer containing file data. |
int |
read(long position,
byte[] buffer,
int offset,
int length)
Read bytes from the given position in the stream to the given buffer. |
void |
readFully(long position,
byte[] buffer)
See readFully(long, byte[], int, int) . |
void |
readFully(long position,
byte[] buffer,
int offset,
int length)
Read bytes from the given position in the stream to the given buffer. |
void |
releaseBuffer(ByteBuffer buffer)
Release a ByteBuffer which was created by the enhanced ByteBuffer read function. |
void |
seek(long desired)
Seek to the given offset. |
boolean |
seekToNewSource(long targetPos)
Seek to the given position on an alternate copy of the data. |
void |
setDropBehind(Boolean dropBehind)
Configure whether the stream should drop the cache. |
void |
setReadahead(Long readahead)
Set the readahead on this stream. |
Methods inherited from class java.io.DataInputStream |
---|
read, read, readBoolean, readByte, readChar, readDouble, readFloat, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedShort, readUTF, readUTF, skipBytes |
Methods inherited from class java.io.FilterInputStream |
---|
available, close, mark, markSupported, read, reset, skip |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public FSDataInputStream(InputStream in)
Method Detail |
---|
public void seek(long desired) throws IOException
seek
in interface Seekable
desired
- offset to seek to
IOException
public long getPos() throws IOException
getPos
in interface Seekable
IOException
public int read(long position, byte[] buffer, int offset, int length) throws IOException
read
in interface PositionedReadable
position
- position in the input stream to seekbuffer
- buffer into which data is readoffset
- offset into the buffer in which data is writtenlength
- maximum number of bytes to read
-1
if there is no more data because the end of the stream has been
reached
IOException
public void readFully(long position, byte[] buffer, int offset, int length) throws IOException
length
bytes have been read.
readFully
in interface PositionedReadable
position
- position in the input stream to seekbuffer
- buffer into which data is readoffset
- offset into the buffer in which data is writtenlength
- the number of bytes to read
EOFException
- If the end of stream is reached while reading.
If an exception is thrown an undetermined number
of bytes in the buffer may have been written.
IOException
public void readFully(long position, byte[] buffer) throws IOException
readFully(long, byte[], int, int)
.
readFully
in interface PositionedReadable
IOException
public boolean seekToNewSource(long targetPos) throws IOException
seekToNewSource
in interface Seekable
targetPos
- position to seek to
IOException
public int read(ByteBuffer buf) throws IOException
org.apache.hadoop.fs.ByteBufferReadable
UnsupportedOperationException
, so
callers that are not confident in support for this method from the
underlying filesystem should be prepared to handle that exception.
Implementations should treat 0-length requests as legitimate, and must not
signal an error upon their receipt.
read
in interface org.apache.hadoop.fs.ByteBufferReadable
buf
- the ByteBuffer to receive the results of the read operation. Up to
buf.limit() - buf.position() bytes may be read.
IOException
- if there is some error performing the readpublic FileDescriptor getFileDescriptor() throws IOException
getFileDescriptor
in interface org.apache.hadoop.fs.HasFileDescriptor
IOException
public void setReadahead(Long readahead) throws IOException, UnsupportedOperationException
CanSetReadahead
setReadahead
in interface CanSetReadahead
readahead
- The readahead to use. null means to use the default.
IOException
- If there was an error changing the dropBehind
setting.
UnsupportedOperationException If this stream doesn't support
setting readahead.
UnsupportedOperationException
public void setDropBehind(Boolean dropBehind) throws IOException, UnsupportedOperationException
CanSetDropBehind
setDropBehind
in interface CanSetDropBehind
dropBehind
- Whether to drop the cache. null means to use the
default value.
IOException
- If there was an error changing the dropBehind
setting.
UnsupportedOperationException If this stream doesn't support
setting the drop-behind.
UnsupportedOperationException
public ByteBuffer read(ByteBufferPool bufferPool, int maxLength, EnumSet<ReadOption> opts) throws IOException, UnsupportedOperationException
org.apache.hadoop.fs.HasEnhancedByteBufferAccess
read
in interface org.apache.hadoop.fs.HasEnhancedByteBufferAccess
bufferPool
- If this is non-null, it will be used to create a fallback
ByteBuffer when the stream itself cannot create one.maxLength
- The maximum length of buffer to return. We may return a buffer
which is shorter than this.opts
- Options to use when reading.
IOException
UnsupportedOperationException
public final ByteBuffer read(ByteBufferPool bufferPool, int maxLength) throws IOException, UnsupportedOperationException
IOException
UnsupportedOperationException
public void releaseBuffer(ByteBuffer buffer)
org.apache.hadoop.fs.HasEnhancedByteBufferAccess
releaseBuffer
in interface org.apache.hadoop.fs.HasEnhancedByteBufferAccess
buffer
- The ByteBuffer to release.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |