# Package com.google.appengine.api.files

Provides a service for file storage and access.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  FileReadChannel | A `ReadableByteChannel` for reading bytes from an `AppEngineFile`.
  FileService | This is the interface for interacting with the Google App Engine File Service.
  FileWriteChannel | A `WritableByteChannel` for appending bytes to an `AppEngineFile`.
  IFileServiceFactory | A factory for producing instances of `FileService`.
  RecordReadChannel | A channel for reading records from a `FileReadChannel`.
  RecordWriteChannel | A `WritableByteChannel` for writing records to a `FileWriteChannel`.

- Class Summary
  Class | Description
  --- | ---
  AppEngineFile | An `AppEngineFile` represents a file in one of the Google App Engine file systems.
  BufferedFileReadChannelImpl | Wraps a FileReadChannel to provide buffering of reads.
  Crc32c | This class generates a CRC32C checksum, defined by rfc3720 section B.4.
  FileServiceFactory | A factory for producing instances of `FileService`.
  FileStat | A `FileStat` contains information about a single file.
  GSFileOptions | Container class for holding options for creating Google Storage files.
  GSFileOptions.GSFileOptionsBuilder | A builder of GSFileOptions.
  IFileServiceFactoryProvider | Factory provider for `IFileServiceFactory`.

- Enum Summary
  Enum | Description
  --- | ---
  AppEngineFile.FileSystem | Represents the back-end storage location of a file.

- Exception Summary
  Exception | Description
  --- | ---
  FinalizationException | An `Exception` that indicates that a file is in the wrong finalization state.
  KeyOrderingException | A `KeyOrderingException` is thrown by the method `FileWriteChannel.write(ByteBuffer, String)` if the `sequenceKey` parameter is not `null` and the backend system already has recorded a last good sequence key for the file and `sequenceKey` is not lexicographically strictly greater than the last good sequence key.
  LockException | An exception that indicates one of two possible cases: An exclusive lock on a file is held by a different App Engine request and so the file may not be accessed in this request This request is trying to acquire an exclusive lock on a file but the file is already opened in a different App Engine request

## Package com.google.appengine.api.files Description

Provides a service for file storage and access.

See Also:
  `FileService`, The Google Cloud Storage API in the Google App Engine Developer's Guide.