Class ImportFileInputStream

java.lang.Object
java.io.InputStream
org.apache.derby.impl.load.ImportFileInputStream
All Implemented Interfaces:
Closeable, AutoCloseable

class ImportFileInputStream extends InputStream
An InputStream, which can stream data from a file, starting from any offset in the file. This stream operates on top of a RandomAccessFile object. This class overrides InputStream methods to read from the given RandomAccessFile and provides an addtional method seek(..) to position the stream at offset in the file.
  • Field Details

    • raf

      private RandomAccessFile raf
    • currentPosition

      private long currentPosition
    • fileLength

      private long fileLength
  • Constructor Details

    • ImportFileInputStream

      ImportFileInputStream(RandomAccessFile raf) throws IOException
      Create a ImportFileInputStream object for the given file.
      Parameters:
      raf - file the stream reads from.
      Throws:
      IOException - if any I/O error occurs.
  • Method Details

    • seek

      void seek(long offset) throws IOException
      Sets the file offset at which the next read will occur.
      Parameters:
      offset - byte offset in the file.
      Throws:
      IOException - if an I/O error occurs.
    • read

      public int read() throws IOException
      Reads a byte of data from this input stream.
      Specified by:
      read in class InputStream
      Throws:
      IOException - if an I/O error occurs.
    • read

      public int read(byte[] buf, int offset, int length) throws IOException
      Reads up to length bytes of data from this input stream into given array. This method blocks until some input is available.
      Overrides:
      read in class InputStream
      Parameters:
      buf - the buffer into which the data is read.
      offset - the start offset of the data.
      length - the maximum number of bytes read.
      Returns:
      the total number of bytes read into the buffer, or -1 if there is no more data because the end of the file has been reached.
      Throws:
      IOException - if an I/O error occurs.
    • available

      public int available() throws IOException
      Returns the number of bytes that can be read from this stream.
      Overrides:
      available in class InputStream
      Returns:
      the number of bytes that can be read from this stream.
      Throws:
      IOException - if an I/O error occurs.
    • close

      public void close() throws IOException
      Closes this input stream and releases any associated resources
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class InputStream
      Throws:
      IOException - if an I/O error occurs.