## org.apache.hadoop.fs
Class FSInputStream

    java.lang.Object
      java.io.InputStream
          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