Class BufferedRandomAccessFile

java.lang.Object
java.io.RandomAccessFile
org.apache.fontbox.ttf.BufferedRandomAccessFile
All Implemented Interfaces:
Closeable, DataInput, DataOutput, AutoCloseable

public class BufferedRandomAccessFile extends RandomAccessFile
This class is a version of the one published at https://code.google.com/p/jmzreader/wiki/BufferedRandomAccessFile augmented to handle unsigned bytes. The original class is published under Apache 2.0 license. Fix is marked below This is an optimized version of the RandomAccessFile class as described by Nick Zhang on JavaWorld.com. The article can be found at http://www.javaworld.com/javaworld/javatips/jw-javatip26.html
  • Field Details

    • buffer

      private final byte[] buffer
      Uses a byte instead of a char buffer for efficiency reasons.
    • bufend

      private int bufend
    • bufpos

      private int bufpos
    • realpos

      private long realpos
      The position inside the actual file.
  • Constructor Details

    • BufferedRandomAccessFile

      public BufferedRandomAccessFile(String filename, String mode, int bufsize) throws FileNotFoundException
      Creates a new instance of the BufferedRandomAccessFile.
      Parameters:
      filename - The path of the file to open.
      mode - Specifies the mode to use ("r", "rw", etc.) See the BufferedLineReader documentation for more information.
      bufsize - The buffer size (in bytes) to use.
      Throws:
      FileNotFoundException - If the mode is "r" but the given string does not denote an existing regular file, or if the mode begins with "rw" but the given string does not denote an existing, writable regular file and a new regular file of that name cannot be created, or if some other error occurs while opening or creating the file.
    • BufferedRandomAccessFile

      public BufferedRandomAccessFile(File file, String mode, int bufsize) throws FileNotFoundException
      Creates a new instance of the BufferedRandomAccessFile.
      Parameters:
      file - The file to open.
      mode - Specifies the mode to use ("r", "rw", etc.) See the BufferedLineReader documentation for more information.
      bufsize - The buffer size (in bytes) to use.
      Throws:
      FileNotFoundException - If the mode is "r" but the given file path does not denote an existing regular file, or if the mode begins with "rw" but the given file path does not denote an existing, writable regular file and a new regular file of that name cannot be created, or if some other error occurs while opening or creating the file.
  • Method Details