Class BufferedRandomAccessFile

java.lang.Object
de.bsvrz.dav.daf.util.FileAccess
de.bsvrz.dav.daf.util.BufferedRandomAccessFile
All Implemented Interfaces:
java.io.Closeable, java.io.DataInput, java.io.DataOutput, java.lang.AutoCloseable, java.nio.channels.ByteChannel, java.nio.channels.Channel, java.nio.channels.ReadableByteChannel, java.nio.channels.SeekableByteChannel, java.nio.channels.WritableByteChannel

public class BufferedRandomAccessFile
extends FileAccess
Implementierung eines gepufferten RandomAccessFile. Diese Klasse implementiert die Interfaces DataInput, DataOutput und ByteChannel und unterstützt alle wesentlichen Methoden eines RandomAccessFiles

Diese Klasse ist (anders als FileChannel) nicht für die Verwendung durch mehrere unsynchronisierte Threads geeignet.

  • Field Details

    • _rawInStream

      protected final java.io.InputStream _rawInStream
      ungepufferter EingabeStream
    • _rawOutStream

      protected final java.io.OutputStream _rawOutStream
      ungepufferter AusgabeStream
  • Constructor Details

    • BufferedRandomAccessFile

      public BufferedRandomAccessFile​(java.io.File file) throws java.io.FileNotFoundException
      Erstellt ein neues gepuffertes BufferedFile als gepufferten Ersatz eines RandomAccessFile.
      Parameters:
      file - Datei
      Throws:
      java.io.FileNotFoundException - Falls Datei nicht gefunden
    • BufferedRandomAccessFile

      public BufferedRandomAccessFile​(java.io.File file, int bufferSize) throws java.io.FileNotFoundException
      Erstellt ein neues gepuffertes BufferedFile als gepufferten Ersatz eines RandomAccessFile.
      Parameters:
      file - Datei
      bufferSize - Größe des Lese und Schreibpuffers in Byte
      Throws:
      java.io.FileNotFoundException - Falls Datei nicht gefunden
    • BufferedRandomAccessFile

      public BufferedRandomAccessFile​(java.io.File file, java.lang.String mode) throws java.io.FileNotFoundException
      Erstellt ein neues gepuffertes BufferedFile als gepufferten Ersatz eines RandomAccessFile.
      Parameters:
      file - Datei
      mode - "r" wenn nur gelesen werden soll, "rw" zum Lesen und schreiben. Siehe RandomAccessFile
      Throws:
      java.io.FileNotFoundException - Falls Datei nicht gefunden
    • BufferedRandomAccessFile

      public BufferedRandomAccessFile​(java.io.File file, java.lang.String mode, int bufferSize) throws java.io.FileNotFoundException
      Erstellt ein neues gepuffertes BufferedFile als gepufferten Ersatz eines RandomAccessFile.
      Parameters:
      file - Datei
      mode - "r" wenn nur gelesen werden soll, "rw" zum Lesen und schreiben. Siehe RandomAccessFile
      bufferSize - Größe des Lese und Schreibpuffers in Byte
      Throws:
      java.io.FileNotFoundException - Falls Datei nicht gefunden
  • Method Details

    • getDataOutStream

      protected java.io.DataOutputStream getDataOutStream()
      Description copied from class: FileAccess
      Gibt einen DataOutputStream zum Schreiben zurück
      Specified by:
      getDataOutStream in class FileAccess
      Returns:
      DataOutputStream
    • getDataInStream

      protected java.io.DataInputStream getDataInStream() throws java.io.IOException
      Description copied from class: FileAccess
      Gibt einen DataInputStream zum Lesen zurück
      Specified by:
      getDataInStream in class FileAccess
      Returns:
      DataInputStream
      Throws:
      java.io.IOException
    • isOpen

      public boolean isOpen()
      Specified by:
      isOpen in interface java.nio.channels.Channel
      Specified by:
      isOpen in class FileAccess
    • getChannel

      public java.nio.channels.FileChannel getChannel()
      Description copied from class: FileAccess
      Gibt einen gültigen FileChannel zurück, mit dem die Klasse die Datei manipulieren kann.
      Specified by:
      getChannel in class FileAccess
      Returns:
      einen gültigen FileChannel
    • position

      public BufferedRandomAccessFile position​(long newPosition) throws java.io.IOException
      Specified by:
      position in interface java.nio.channels.SeekableByteChannel
      Overrides:
      position in class FileAccess
      Throws:
      java.io.IOException
      See Also:
      FileChannel.position(long)
    • truncate

      public BufferedRandomAccessFile truncate​(long size) throws java.io.IOException
      Specified by:
      truncate in interface java.nio.channels.SeekableByteChannel
      Overrides:
      truncate in class FileAccess
      Throws:
      java.io.IOException
      See Also:
      FileChannel.truncate(long)