R
roger
Gast
Hallo liebe Leute,
ich möchte in einer Textdatei eine einzelne Zeile ändern.
Bsp:
1
2
3
4
Nun soll mein Programm aus der 3 beispielsweise eine77 machen.
1
2
77
4
Ich hab das nun so programmiert, dass die Datei Zeilenweise eingelesen wird.
Jede Zeile wird in eine temporäre Datei geschrieben. Wird eine Zeile mit dem Suchkriterium gefunden wird sie mit dem gewünschten Wert ersetzt.
Danach schreibe ich die temporäre Datei in die Originale und lösche die temporäre Datei.
Das funktioniert zwar recht gut. Nur was ist wenn ich Dateien >800MB hab.
Meine Lösung scheint mir extrem ineffizient.
Ich denke, dass mir der Javaspeicher da irgendwann nicht mehr mitmacht.
Die Temporäre Datei kostet mich zudem nochmal 800 MB Festplattenplatz.
Das muss doch viel einfacher gehen...ich will ja wirklich nur eine Zeile austauschen. Zudem steht diese Zeile auch ziemlich am Anfang der Datei.
Danke für Hinweise, wie man das machen könnte.
Gruss
Roger
ich möchte in einer Textdatei eine einzelne Zeile ändern.
Bsp:
1
2
3
4
Nun soll mein Programm aus der 3 beispielsweise eine77 machen.
1
2
77
4
Ich hab das nun so programmiert, dass die Datei Zeilenweise eingelesen wird.
Jede Zeile wird in eine temporäre Datei geschrieben. Wird eine Zeile mit dem Suchkriterium gefunden wird sie mit dem gewünschten Wert ersetzt.
Danach schreibe ich die temporäre Datei in die Originale und lösche die temporäre Datei.
Das funktioniert zwar recht gut. Nur was ist wenn ich Dateien >800MB hab.
Meine Lösung scheint mir extrem ineffizient.
Ich denke, dass mir der Javaspeicher da irgendwann nicht mehr mitmacht.
Die Temporäre Datei kostet mich zudem nochmal 800 MB Festplattenplatz.
Das muss doch viel einfacher gehen...ich will ja wirklich nur eine Zeile austauschen. Zudem steht diese Zeile auch ziemlich am Anfang der Datei.
Danke für Hinweise, wie man das machen könnte.
Gruss
Roger