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 gepuffertenRandomAccessFile
. Diese Klasse implementiert die InterfacesDataInput
,DataOutput
undByteChannel
und unterstützt alle wesentlichen Methoden einesRandomAccessFile
sDiese 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 AusgabeStream-
Fields 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
All Methods Instance Methods Concrete Methods 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
-
-
-
-
Constructor Detail
-
BufferedRandomAccessFile
public BufferedRandomAccessFile(java.io.File file) throws java.io.FileNotFoundException
Erstellt 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.FileNotFoundException
Erstellt 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.FileNotFoundException
Erstellt 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.FileNotFoundException
Erstellt 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 Detail
-
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.IOException
Description 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
public BufferedRandomAccessFile position(long newPosition) throws java.io.IOException
- Specified by:
position
in interfacejava.nio.channels.SeekableByteChannel
- Overrides:
position
in classFileAccess
- Throws:
java.io.IOException
- See Also:
FileChannel.position(long)
-
truncate
public BufferedRandomAccessFile truncate(long size) throws java.io.IOException
- Specified by:
truncate
in interfacejava.nio.channels.SeekableByteChannel
- Overrides:
truncate
in classFileAccess
- Throws:
java.io.IOException
- See Also:
FileChannel.truncate(long)
-
-