Class 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 Detail

      • _rawInStream

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

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

      • 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 Detail

      • 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)