Löschen Sie Die Ersten Bytes einer Random Access-Datei in Java
Ich Schreibe Byte auf eine random access-Datei. Nach Beendigung der operation, die ich löschen möchte, die ersten 100 bytes von der Datei. Wie kann ich das erreichen?
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
AFAIK, müssen Sie kopieren die übrigen bytes (Länge der Datei - 100) in eine neue Datei. Löschen der ersten 100 bytes aus einer Datei ist nicht möglich ohne das kopieren der verbleibenden bytes in eine neue Datei.
Edit: Wie cdhowie zu Recht darauf hingewiesen, Sie könnten:
Dann wiederholen Sie den Vorgang, bis die gesamte Datei geschrieben wird. Beenden Sie durch festlegen der filelength 100 bytes weniger als zuvor. Wenn Sie möchten, um auf der sicheren Seite sein und nicht das Risiko der Korrumpierung der ursprünglichen Datei ist, könnte es Wert sein zu schreiben, um eine temp-Datei zuerst.
ich eine Methode gefunden, die die gewünschten arbeiten. es ist deleteRAF und hier.
Dank Ihrer Ratschläge.
Gibt es keine einfache Möglichkeit, dies zu tun. Sie müssen Lesen Sie ab byte 100 und schreiben ab byte 0 -- im wesentlichen eine Verschiebung der Datei-Inhalt nach unten von 100 bytes manuell. Dann können Sie abschneiden die Datei zu 100 bytes kleiner ist als die Länge.