org.apache.commons.io.input

## Class RandomAccessFileInputStream

- java.lang.Object
- - java.io.InputStream
  - - org.apache.commons.io.input.RandomAccessFileInputStream

- All Implemented Interfaces:
    Closeable, AutoCloseable

      public class RandomAccessFileInputStream
      extends InputStream

  Streams data from a `RandomAccessFile` starting at its current position.

  To build an instance, see `RandomAccessFileInputStream.Builder`.

  Since:
    2.8.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `RandomAccessFileInputStream.Builder` Builds a new `RandomAccessFileInputStream` instance.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RandomAccessFileInputStream(RandomAccessFile file)` Deprecated. Use `builder()`, `RandomAccessFileInputStream.Builder`, and `RandomAccessFileInputStream.Builder.get()`
    `RandomAccessFileInputStream(RandomAccessFile file, boolean closeOnClose)` Deprecated. Use `builder()`, `RandomAccessFileInputStream.Builder`, and `RandomAccessFileInputStream.Builder.get()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `available()` Returns an estimate of the number of bytes that can be read (or skipped over) from this input stream.
    `long` | `availableLong()` Returns the number of bytes that can be read (or skipped over) from this input stream.
    `static RandomAccessFileInputStream.Builder` | `builder()` Constructs a new `RandomAccessFileInputStream.Builder`.
    `void` | `close()`
    `RandomAccessFile` | `getRandomAccessFile()` Gets the underlying file.
    `boolean` | `isCloseOnClose()` Returns whether to close the underlying file when this stream is closed.
    `int` | `read()`
    `int` | `read(byte[] bytes)`
    `int` | `read(byte[] bytes, int offset, int length)`
    `long` | `skip(long skipCount)`

    - ### Methods inherited from class java.io.InputStream

      `mark, markSupported, reset`

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

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

- - ### Constructor Detail

    - #### RandomAccessFileInputStream

          @Deprecated
          public RandomAccessFileInputStream(RandomAccessFile file)

      Deprecated. Use `builder()`, `RandomAccessFileInputStream.Builder`, and `RandomAccessFileInputStream.Builder.get()`
      Constructs a new instance configured to leave the underlying file open when this stream is closed.
      Parameters:
        `file` - The file to stream.

    - #### RandomAccessFileInputStream

          @Deprecated
          public RandomAccessFileInputStream(RandomAccessFile file,
                                                         boolean closeOnClose)

      Deprecated. Use `builder()`, `RandomAccessFileInputStream.Builder`, and `RandomAccessFileInputStream.Builder.get()`
      Constructs a new instance.
      Parameters:
        `file` - The file to stream.
        `closeOnClose` - Whether to close the underlying file when this stream is closed.

  - ### Method Detail

    - #### builder

          public static RandomAccessFileInputStream.Builder builder()

      Constructs a new `RandomAccessFileInputStream.Builder`.
      Returns:
        a new `RandomAccessFileInputStream.Builder`.
      Since:
        2.12.0

    - #### available

          public int available()
                        throws IOException

      Returns an estimate of the number of bytes that can be read (or skipped over) from this input stream. If there are more than `Integer.MAX_VALUE` bytes available, return `Integer.MAX_VALUE`.
      Overrides:
        `available` in class `InputStream`
      Returns:
        An estimate of the number of bytes that can be read.
      Throws:
        `IOException` - If an I/O error occurs.

    - #### availableLong

          public long availableLong()
                             throws IOException

      Returns the number of bytes that can be read (or skipped over) from this input stream.
      Returns:
        The number of bytes that can be read.
      Throws:
        `IOException` - If an I/O error occurs.

    - #### close

          public void close()
                     throws IOException

      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Overrides:
        `close` in class `InputStream`
      Throws:
        `IOException`

    - #### getRandomAccessFile

          public RandomAccessFile getRandomAccessFile()

      Gets the underlying file.
      Returns:
        the underlying file.

    - #### isCloseOnClose

          public boolean isCloseOnClose()

      Returns whether to close the underlying file when this stream is closed.
      Returns:
        Whether to close the underlying file when this stream is closed.

    - #### read

          public int read()
                   throws IOException

      Specified by:
        `read` in class `InputStream`
      Throws:
        `IOException`

    - #### read

          public int read(byte[] bytes)
                   throws IOException

      Overrides:
        `read` in class `InputStream`
      Throws:
        `IOException`

    - #### read

          public int read(byte[] bytes,
                          int offset,
                          int length)
                   throws IOException

      Overrides:
        `read` in class `InputStream`
      Throws:
        `IOException`

    - #### skip

          public long skip(long skipCount)
                    throws IOException

      Overrides:
        `skip` in class `InputStream`
      Throws:
        `IOException`

Copyright © 2002–2023 The Apache Software Foundation. All rights reserved.