org.apache.hadoop.fs
Class FSInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by org.apache.hadoop.fs.FSInputStream
All Implemented Interfaces:
Closeable, PositionedReadable, Seekable
Direct Known Subclasses:
FSInputChecker, FTPInputStream

public abstract class FSInputStream
extends InputStream
implements Seekable, PositionedReadable

FSInputStream is a generic old InputStream with a little bit of RAF-style seek ability.


Constructor Summary
FSInputStream()
           
 
Method Summary
abstract  long getPos()
          Return the current offset from the start of the file
 int read(long position, byte[] buffer, int offset, int length)
          Read upto the specified number of bytes, from a given position within a file, and return the number of bytes read.
 void readFully(long position, byte[] buffer)
          Read number of bytes equalt to the length of the buffer, from a given position within a file.
 void readFully(long position, byte[] buffer, int offset, int length)
          Read the specified number of bytes, from a given position within a file.
abstract  void seek(long pos)
          Seek to the given offset from the start of the file.
abstract  boolean seekToNewSource(long targetPos)
          Seeks a different copy of the data.
 
Methods inherited from class java.io.InputStream
available, close, mark, markSupported, read, read, read, reset, skip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FSInputStream

public FSInputStream()
Method Detail

seek

public abstract void seek(long pos)
                   throws IOException
Seek to the given offset from the start of the file. The next read() will be from that location. Can't seek past the end of the file.

Specified by:
seek in interface Seekable
Throws:
IOException

getPos

public abstract long getPos()
                     throws IOException
Return the current offset from the start of the file

Specified by:
getPos in interface Seekable
Throws:
IOException

seekToNewSource

public abstract boolean seekToNewSource(long targetPos)
                                 throws IOException
Seeks a different copy of the data. Returns true if found a new source, false otherwise.

Specified by:
seekToNewSource in interface Seekable
Throws:
IOException

read

public int read(long position,
                byte[] buffer,
                int offset,
                int length)
         throws IOException
Description copied from interface: PositionedReadable
Read upto the specified number of bytes, from a given position within a file, and return the number of bytes read. This does not change the current offset of a file, and is thread-safe.

Specified by:
read in interface PositionedReadable
Throws:
IOException

readFully

public void readFully(long position,
                      byte[] buffer,
                      int offset,
                      int length)
               throws IOException
Description copied from interface: PositionedReadable
Read the specified number of bytes, from a given position within a file. This does not change the current offset of a file, and is thread-safe.

Specified by:
readFully in interface PositionedReadable
Throws:
IOException

readFully

public void readFully(long position,
                      byte[] buffer)
               throws IOException
Description copied from interface: PositionedReadable
Read number of bytes equalt to the length of the buffer, from a given position within a file. This does not change the current offset of a file, and is thread-safe.

Specified by:
readFully in interface PositionedReadable
Throws:
IOException


Copyright © 2009 The Apache Software Foundation