Package de.bsvrz.dav.daf.util
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 RandomAccessFile
s
Diese Klasse ist (anders als FileChannel
) nicht für die Verwendung durch mehrere unsynchronisierte Threads geeignet.
-
Field Summary
Fields Modifier and Type Field Description protected java.io.InputStream
_rawInStream
ungepufferter EingabeStreamprotected java.io.OutputStream
_rawOutStream
ungepufferter AusgabeStreamFields inherited from class de.bsvrz.dav.daf.util.FileAccess
_bufferSize, _dataInStream, _dataOutStream, _position, defaultBufferSize
-
Constructor Summary
Constructors Constructor Description BufferedRandomAccessFile(java.io.File file)
Erstellt ein neues gepuffertes BufferedFile als gepufferten Ersatz einesRandomAccessFile
.BufferedRandomAccessFile(java.io.File file, int bufferSize)
Erstellt ein neues gepuffertes BufferedFile als gepufferten Ersatz einesRandomAccessFile
.BufferedRandomAccessFile(java.io.File file, java.lang.String mode)
Erstellt ein neues gepuffertes BufferedFile als gepufferten Ersatz einesRandomAccessFile
.BufferedRandomAccessFile(java.io.File file, java.lang.String mode, int bufferSize)
Erstellt ein neues gepuffertes BufferedFile als gepufferten Ersatz einesRandomAccessFile
. -
Method Summary
Modifier and Type Method Description java.nio.channels.FileChannel
getChannel()
Gibt einen gültigen FileChannel zurück, mit dem die Klasse die Datei manipulieren kann.protected java.io.DataInputStream
getDataInStream()
Gibt einen DataInputStream zum Lesen zurückprotected java.io.DataOutputStream
getDataOutStream()
Gibt einen DataOutputStream zum Schreiben zurückboolean
isOpen()
BufferedRandomAccessFile
position(long newPosition)
BufferedRandomAccessFile
truncate(long size)
Methods inherited from class de.bsvrz.dav.daf.util.FileAccess
close, flush, flushInStream, flushOutStream, getFilePointer, length, position, read, read, read, read, readBoolean, readByte, readChar, readDouble, readFloat, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedShort, readUTF, seek, setLength, size, skip, skipBytes, toString, write, write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Field Details
-
_rawInStream
protected final java.io.InputStream _rawInStreamungepufferter EingabeStream -
_rawOutStream
protected final java.io.OutputStream _rawOutStreamungepufferter AusgabeStream
-
-
Constructor Details
-
BufferedRandomAccessFile
public BufferedRandomAccessFile(java.io.File file) throws java.io.FileNotFoundExceptionErstellt ein neues gepuffertes BufferedFile als gepufferten Ersatz einesRandomAccessFile
.- Parameters:
file
- Datei- Throws:
java.io.FileNotFoundException
- Falls Datei nicht gefunden
-
BufferedRandomAccessFile
public BufferedRandomAccessFile(java.io.File file, int bufferSize) throws java.io.FileNotFoundExceptionErstellt ein neues gepuffertes BufferedFile als gepufferten Ersatz einesRandomAccessFile
.- Parameters:
file
- DateibufferSize
- 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.FileNotFoundExceptionErstellt ein neues gepuffertes BufferedFile als gepufferten Ersatz einesRandomAccessFile
.- Parameters:
file
- Dateimode
- "r" wenn nur gelesen werden soll, "rw" zum Lesen und schreiben. SieheRandomAccessFile
- Throws:
java.io.FileNotFoundException
- Falls Datei nicht gefunden
-
BufferedRandomAccessFile
public BufferedRandomAccessFile(java.io.File file, java.lang.String mode, int bufferSize) throws java.io.FileNotFoundExceptionErstellt ein neues gepuffertes BufferedFile als gepufferten Ersatz einesRandomAccessFile
.- Parameters:
file
- Dateimode
- "r" wenn nur gelesen werden soll, "rw" zum Lesen und schreiben. SieheRandomAccessFile
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 classFileAccess
- Returns:
- DataOutputStream
-
getDataInStream
protected java.io.DataInputStream getDataInStream() throws java.io.IOExceptionDescription copied from class:FileAccess
Gibt einen DataInputStream zum Lesen zurück- Specified by:
getDataInStream
in classFileAccess
- Returns:
- DataInputStream
- Throws:
java.io.IOException
-
isOpen
public boolean isOpen()- Specified by:
isOpen
in interfacejava.nio.channels.Channel
- Specified by:
isOpen
in classFileAccess
-
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 classFileAccess
- Returns:
- einen gültigen FileChannel
-
position
- Specified by:
position
in interfacejava.nio.channels.SeekableByteChannel
- Overrides:
position
in classFileAccess
- Throws:
java.io.IOException
- See Also:
FileChannel.position(long)
-
truncate
- Specified by:
truncate
in interfacejava.nio.channels.SeekableByteChannel
- Overrides:
truncate
in classFileAccess
- Throws:
java.io.IOException
- See Also:
FileChannel.truncate(long)
-