com.google.appengine.api.files

## Interface RecordReadChannel

-     public interface RecordReadChannel

  A channel for reading records from a `FileReadChannel`.

  The format of these records is defined by the leveldb log format: http://leveldb.googlecode.com/svn/trunk/doc/log_format.txt

  An instance of `RecordReadChannel` may be obtained from the method: `FileService.openRecordReadChannel(AppEngineFile, boolean)`.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `position()` Returns the position in the underlying `FileReadChannel`.
    `void` | `position(long newPosition)` Sets the read position of the underlying `FileReadChannel`.
    `java.nio.ByteBuffer` | `readRecord()` Reads a record from the file and returns it in a `ByteBuffer`.

- - ### Method Detail

    - #### readRecord

          java.nio.ByteBuffer readRecord()
                                         throws java.io.IOException

      Reads a record from the file and returns it in a `ByteBuffer`. This ByteBuffer is reused, so if the user would like to save the result of `readRecord()`, they need to copy the output of this method.
      Returns:
        a `ByteBuffer` containing the record.
      Throws:
        `java.io.IOException`

    - #### position

          long position()
                        throws java.io.IOException

      Returns the position in the underlying `FileReadChannel`.
      Returns:
        the position.
      Throws:
        `java.io.IOException`

    - #### position

          void position(long newPosition)
                        throws java.io.IOException

      Sets the read position of the underlying `FileReadChannel`. The position value should only be set using the value obtained from a previous `position()` call.
      Parameters:
        `newPosition` - the position at which to set the reader.
      Throws:
        `java.io.IOException`