FileReadChannel (Google App Engine API for Java)

Interface FileReadChannel

  • All Superinterfaces:
    java.lang.AutoCloseable, java.nio.channels.Channel,, java.nio.channels.ReadableByteChannel
    All Known Implementing Classes:


    public interface FileReadChannel
    extends java.nio.channels.ReadableByteChannel
    A ReadableByteChannel for reading bytes from an AppEngineFile.

    A FileReadChannel has a current position within its file which can be both queried and modified.

    An instance of FileReadChannel is obtained via the method FileService.openReadChannel(AppEngineFile, boolean).

    A FileReadChannel is associated with a single App Engine request and may not be used outside of the request in which it is constructed. Therefore an instance of FileReadChannel should not be cached between requests. Instead, close the channel at the end of the request, cache the AppEngineFile or just the path, and create a new FileReadChannel in a later request.

    When a FileReadChannel is constructed the underlying file may optionally be locked. Successful aquisition of the lock means that no other App Engine request will be able to read the underlying file until the lock is released. If a lock is acquired, it will be released when the method Channel.close() is invoked. When the request terminates, close() will be invoked implicitly if it has not yet been invoked explicitly. Just like ReadableByteChannel If one thread initiates a read operation upon a channel then any other thread that attempts to initiate another read operation will block until the first operation is complete. This also applies to the position() and position(long) apis.

    • Method Summary

      All Methods Instance Methods Abstract Methods Deprecated Methods 
      Modifier and Type Method and Description
      long position()
      Returns this channel's file position;
      FileReadChannel position(long newPosition)
      Sets this channel's file position.
      • Methods inherited from interface java.nio.channels.ReadableByteChannel

      • Methods inherited from interface java.nio.channels.Channel

        close, isOpen
    • Method Detail

      • position

        long position()
        Returns this channel's file position;
        This channel's file position, a non-negative integer counting the number of bytes from the beginning of the file to the current position
        Throws: - If any problem occurs
      • position

        FileReadChannel position(long newPosition)
        Sets this channel's file position.

        Setting the position to a value that is greater than the file's size will not result in an exception. A later attempt to read bytes at such a position will immediately return an end-of-file indication.

        newPosition - The new position, a non-negative integer counting the number of bytes from the beginning of the file
        This channel
        java.lang.IllegalArgumentException - If the new position is negative - If any other problem occurs

Monitor your resources on the go

Get the Google Cloud Console app to help you manage your projects.

Send feedback about...

App Engine standard environment for Java