gewusst wie: schreiben von Inhalten in einer Bestimmten position in einer Datei
Angenommen ich habe eine Datei namens abhishek.txt und die die folgende Zeile enthält
Bin ich , und was ist dein name.
Jetzt möchte ich schreiben
Abhishek
nach "ich bin" wie ich bin Abhishek, ..
Wie Schreibe den Inhalt in dieser bestimmten position direkt.
InformationsquelleAutor Abhishek Choudhary | 2011-04-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht einfügen von Daten in eine Datei. Sie können diese Daten an einem bestimmten Ort mit
RandomAccessFile
. Aber ein einfügen benötigt, wenn Sie alle Daten nach. Für Ihren Fall versuchen, so etwas wie dies:InformationsquelleAutor WhiteFang34
Können Sie nicht einfügen von Daten in eine Datei... Datei-Systeme (im Allgemeinen) nicht einfach eine solche operation unterstützen. In der Regel würden Sie öffnen einer Datei zum Lesen und eine für schreiben, kopieren Sie den ersten Teil der Datei von einem stream zu den anderen, schreiben die extra-Teil, dann kopieren Sie den zweiten Teil der Datei.
Werden, wenn Sie versuchen, um die Originaldatei zu ersetzen, würden Sie dann brauchen, um es zu löschen und verschieben Sie die neue Datei hinein.
Manchmal ist es vielleicht einfacher zu Lesen die ganze Datei in den Speicher in einem - es hängt davon ab, was genau Sie zu tun versuchen, und wie groß die Datei ist.
InformationsquelleAutor Jon Skeet
Generell benötigen Sie zum Lesen der alten Datei, ändern Sie den Inhalt in den Speicher und schreiben Sie es wieder heraus.
Gibt es viele Möglichkeiten hier, ob Sie die Datei Lesen, alle auf einmal, oder ein kleines Stück zu einer Zeit, ob Sie die vorhandene Datei ersetzen, etc, aber dies ist in der Regel die Muster zu verwenden.
InformationsquelleAutor MeBigFatGuy
Haben Sie drei Möglichkeiten:
InformationsquelleAutor MJB
Habe ich es geschafft mit RandomAccessFile:
Mit diesem, Sie erhalten eine Datei, die genau das erwartet haben "ich bin Abhishek' Inhalt.
Dies funktioniert auch, wenn Sie hätten Inhalte nach der ersten Zeile, die Sie behalten möchten, in die Datei(dies war mein erstes problem: ich hatte eine große Datei und die musste ich einfügen, einige Inhalte nach einer bestimmten Zeichenfolge) eher als schreiben am Ende der Datei, die einfacher ist.
InformationsquelleAutor Crenguta S