Package com.google.android.exoplayer2.upstream

## Class DataSourceUtil

- java.lang.Object
- - com.google.android.exoplayer2.upstream.DataSourceUtil

-     public final class DataSourceUtil
      extends Object

  Utility methods for `DataSource`.

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `closeQuietly​(DataSource dataSource)` | Closes a `DataSource`, suppressing any `IOException` that may occur.
    `static byte[]` | `readExactly​(DataSource dataSource, int length)` | Reads `length` bytes from the specified opened `DataSource`, and returns a byte array containing the read data.
    `static byte[]` | `readToEnd​(DataSource dataSource)` | Reads data from the specified opened `DataSource` until it ends, and returns a byte array containing the read data.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### readToEnd

          public static byte[] readToEnd​(DataSource dataSource)
                                  throws IOException

      Reads data from the specified opened `DataSource` until it ends, and returns a byte array containing the read data.
      Parameters:
        `dataSource` - The source from which to read.
      Returns:
        The concatenation of all read data.
      Throws:
        `IOException` - If an error occurs reading from the source.

    - #### readExactly

          public static byte[] readExactly​(DataSource dataSource,
                                           int length)
                                    throws IOException

      Reads `length` bytes from the specified opened `DataSource`, and returns a byte array containing the read data.
      Parameters:
        `dataSource` - The source from which to read.
      Returns:
        The read data.
      Throws:
        `IOException` - If an error occurs reading from the source.
        `IllegalStateException` - If the end of the source was reached before `length` bytes could be read.

    - #### closeQuietly

          public static void closeQuietly​(@Nullable
                                          DataSource dataSource)

      Closes a `DataSource`, suppressing any `IOException` that may occur.
      Parameters:
        `dataSource` - The `DataSource` to close.