Ich habe eine Datei mit java.io.File
, FileInputStream & FileOutputStream
erstellt. Angenommen, ich möchte den Wert einiger Bytes in der Datei ändern (z. B. von Byte 15 auf 35), ohne die Größe der Datei zu ändern. Ich habe versucht, ein RandomAccessFile
Objekt zu erstellen und dann RandomAccessFile.seek
zu verwenden, um zu Byte 15 zu wechseln, meine neuen Bytes zu schreiben und dann die Datei zu schließen. Die Datei hat ihre Größe geändert. Was ist falsch an diesem Ansatz und wie kann dies erfolgreich durchgeführt werden?Wie überschreibt man einige Bytes in einer Datei?
4
A
Antwort
4
Sind Sie sicher, dass Sie ein Byte in die RandomAccessFile schreiben? Wenn Sie den Aufruf der Methode:
file.write(35);
Dann wird es tatsächlich 35
als int
schreiben, die 4 Bytes ist. Wenn Sie ein einzelnes Byte Versuch schreiben wollen:
file.writeByte(35);
zeigen uns einige Code – unbeli
Ja, uns bitte zeigen eine snippit des Codes Sie verwenden. – jjnguy
Ich nehme an, Sie versuchen nicht gleichzeitig FileOutputStream UND RandomAccessFile zu verwenden. –