# Interface FileContents

public interface FileContents
Provides lazy access to the contents of a given file.

Since:
  6.1

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Provider<byte[]>`
  `getAsBytes()`
  Gets a provider of the entire file contents as a single byte array.
  `Provider<String>`
  `getAsText()`
  Gets a provider of the entire file contents as a single String.

- ## Method Details

  - ### getAsText

    Provider<String> getAsText()
    Gets a provider of the entire file contents as a single String.

    The file is read only once and only when the value is requested for the first time.

    The returned provider won't have a value, i.e., `Provider.isPresent()` will return `false` when:

    - the underlying file does not exist;
    - this `FileContents` is connected to a `Provider``<``RegularFile``>` with no value;

    When the underlying file exists but reading it fails, the ensuing exception is permanently propagated to callers of `Provider.get()`, `Provider.getOrElse(T)`, `Provider.getOrNull()` and `Provider.isPresent()`.

    Returns:
      provider of the entire file contents as a single String.

  - ### getAsBytes

    Provider<byte[]> getAsBytes()
    Gets a provider of the entire file contents as a single byte array.

    The file is read only once and only when the value is requested for the first time.

    The returned provider won't have a value, i.e., `Provider.isPresent()` will return `false` when:

    - the underlying file does not exist;
    - this `FileContents` is connected to a `Provider``<``RegularFile``>` with no value;

    When the underlying file exists but reading it fails, the ensuing exception is permanently propagated to callers of `Provider.get()`, `Provider.getOrElse(T)`, `Provider.getOrNull()` and `Provider.isPresent()`.

    Returns:
      provider of the entire file contents as a single byte array.