Class RandomAccessReader

java.lang.Object
java.io.Reader
org.biojava.utils.io.RandomAccessReader
All Implemented Interfaces:
Closeable, AutoCloseable, Readable

public class RandomAccessReader extends Reader
RandomAccessReader extends Reader to provide a means to create buffered Readers from RandomAccessFiles.
Since:
1.2
Author:
Keith James
  • Field Summary

    Fields inherited from class java.io.Reader

    lock
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new RandomAccessReader wrapping the RandomAccessFile and using a default-sized buffer (8192 bytes).
    Creates a new RandomAccessReader wrapping the RandomAccessFile and using a buffer of the specified size.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    close closes the underlying RandomAccessFile.
    long
    getFilePointer returns the effective position of the pointer in the underlying RandomAccessFile.
    long
    length returns the length of the underlying RandomAccessFile.
    final int
    read reads one byte from the underlying RandomAccessFile.
    int
    read(char[] cbuf, int off, int len)
    read reads from the underlying RandomAccessFile into an array.
    void
    seek(long pos)
    seek moves the pointer to the specified position.

    Methods inherited from class java.io.Reader

    mark, markSupported, nullReader, read, read, ready, reset, skip, transferTo

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RandomAccessReader

      Creates a new RandomAccessReader wrapping the RandomAccessFile and using a default-sized buffer (8192 bytes).
      Parameters:
      raf - a RandomAccessFile to wrap.
      Throws:
      IOException - if an error occurs.
    • RandomAccessReader

      public RandomAccessReader(RandomAccessFile raf, int sz) throws IOException
      Creates a new RandomAccessReader wrapping the RandomAccessFile and using a buffer of the specified size.
      Parameters:
      raf - a RandomAccessFile to wrap.
      sz - an int buffer size.
      Throws:
      IOException
  • Method Details

    • close

      public void close() throws IOException
      close closes the underlying RandomAccessFile.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class Reader
      Throws:
      IOException - if an error occurs.
    • length

      public long length() throws IOException
      length returns the length of the underlying RandomAccessFile.
      Returns:
      a long.
      Throws:
      IOException - if an error occurs.
    • read

      public final int read() throws IOException
      read reads one byte from the underlying RandomAccessFile.
      Overrides:
      read in class Reader
      Returns:
      an int, -1 if the end of the stream has been reached.
      Throws:
      IOException - if an error occurs.
    • read

      public int read(char[] cbuf, int off, int len) throws IOException
      read reads from the underlying RandomAccessFile into an array.
      Specified by:
      read in class Reader
      Parameters:
      cbuf - a char [] array to read into.
      off - an int offset in the array at which to start storing chars.
      len - an int maximum number of char to read.
      Returns:
      an int number of chars read, or -1 if the end of the stream has been reached.
      Throws:
      IOException - if an error occurs.
    • getFilePointer

      public long getFilePointer() throws IOException
      getFilePointer returns the effective position of the pointer in the underlying RandomAccessFile.
      Returns:
      a long offset.
      Throws:
      IOException - if an error occurs.
    • seek

      public void seek(long pos) throws IOException
      seek moves the pointer to the specified position.
      Parameters:
      pos - a long offset.
      Throws:
      IOException - if an error occurs.