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 TypeMethodDescriptionvoidclose()voidSchließt die Datei auf Betriebssystemebene, aber erlaubt weitere Lese- und Schreibzugriffe.protected final FileChannelGibt einen gültigen FileChannel zurück, mit dem die Klasse die Datei manipulieren kann.protected DataInputStreamGibt einen DataInputStream zum Lesen zurückprotected DataOutputStreamGibt einen DataOutputStream zum Schreiben zurückbooleanisOpen()protected voidopenFile()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:FileAccessGibt einen DataOutputStream zum Schreiben zurück- Specified by:
getDataOutStreamin classFileAccess- Returns:
- DataOutputStream
- Throws:
IOException
-
getDataInStream
Description copied from class:FileAccessGibt einen DataInputStream zum Lesen zurück- Specified by:
getDataInStreamin classFileAccess- Returns:
- DataInputStream
- Throws:
IOException
-
getChannel
Description copied from class:FileAccessGibt einen gültigen FileChannel zurück, mit dem die Klasse die Datei manipulieren kann.- Specified by:
getChannelin classFileAccess- Returns:
- einen gültigen FileChannel
- Throws:
IOException
-
openFile
- Throws:
IOException
-
isOpen
public boolean isOpen()- Specified by:
isOpenin interfaceChannel- Specified by:
isOpenin classFileAccess
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceChannel- Specified by:
closein interfaceCloseable- Overrides:
closein 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
-