Package de.bsvrz.dav.daf.util
Class CloseableRandomAccessFile
java.lang.Object
de.bsvrz.dav.daf.util.FileAccess
de.bsvrz.dav.daf.util.CloseableRandomAccessFile
- All Implemented Interfaces:
Closeable
,DataInput
,DataOutput
,AutoCloseable
,ByteChannel
,Channel
,ReadableByteChannel
,SeekableByteChannel
,WritableByteChannel
RandomAccessFile-ähnliche implementierung, die es erlaubt, die Datei zu schließen und bei Bedarf wieder von der selben Position zu öffnen. Diese
Implementierung kann verwendet werden, weil eine Applikation sonst viele Dateien gleichzeitig öffnet um Beschränkungen im Betriebssystem zu
umgehen.
Zusätzlich ist die Ein- und Ausgabe gepuffert, wodurch die Performance wesentlich erhöht wird.
Es sollte sichergestellt werden, dass kein anderer Prozess parallel die Datei bearbeitet, sonst entsteht möglicherweise unerwünschtes Verhalten.
-
Field Summary
Fields inherited from class de.bsvrz.dav.daf.util.FileAccess
_bufferSize, _dataInStream, _dataOutStream, _position, defaultBufferSize
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
Schließt die Datei auf Betriebssystemebene, aber erlaubt weitere Lese- und Schreibzugriffe.protected final FileChannel
Gibt einen gültigen FileChannel zurück, mit dem die Klasse die Datei manipulieren kann.protected DataInputStream
Gibt einen DataInputStream zum Lesen zurückprotected DataOutputStream
Gibt einen DataOutputStream zum Schreiben zurückboolean
isOpen()
protected void
openFile()
Methods inherited from class de.bsvrz.dav.daf.util.FileAccess
flush, flushInStream, flushOutStream, getFilePointer, length, position, 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, truncate, write, write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF
-
Constructor Details
-
CloseableRandomAccessFile
-
CloseableRandomAccessFile
-
-
Method Details
-
getDataOutStream
Description copied from class:FileAccess
Gibt einen DataOutputStream zum Schreiben zurück- Specified by:
getDataOutStream
in classFileAccess
- Returns:
- DataOutputStream
- Throws:
IOException
-
getDataInStream
Description copied from class:FileAccess
Gibt einen DataInputStream zum Lesen zurück- Specified by:
getDataInStream
in classFileAccess
- Returns:
- DataInputStream
- Throws:
IOException
-
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
- Throws:
IOException
-
openFile
- Throws:
IOException
-
isOpen
public boolean isOpen()- Specified by:
isOpen
in interfaceChannel
- Specified by:
isOpen
in classFileAccess
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceChannel
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classFileAccess
- Throws:
IOException
-
closeFile
Schließt die Datei auf Betriebssystemebene, aber erlaubt weitere Lese- und Schreibzugriffe. Falls später wieder Daten gelesen oder geschrieben werden sollen wird die Datei automatisch erneut geöffnet. Da nicht sichergestellt wird, dass die Datei nicht zwischenzeitlich manipuliert wird muss der Anwender hier vorsichtig sein.- Throws:
IOException
-