Änderung an Text-Datei

butterfly84

Mitglied
Hallo,

ich versuche eine geänderte Zeile aus einer Textdatei zu ersetzen, aber irgendwie klappt das nicht. Die Datei enthält am Ende nur noch die geänderte Zeile und der Rest ist gelöscht. Muss man die anderen Zeilen erneut schreiben lassen?

Java:
								if (zeile != null) {
									if (zeile.indexOf(segment1) > -1) {
										System.out.println(zeile
												.indexOf(segment1));

										zeile = in.readLine();
										System.out.println(zeile + "zeile");
										zeile = zeile.replaceAll(" -1 ", " 4 ");
										System.out.println(zeile + "zeile");

										writer = new BufferedWriter(
												new FileWriter(filepath));

										writer.write(zeile);
										writer.flush();

									}

								}
 
Ja. Entweder du hängst die Zeile lediglich an den Rest der Datei an oder die ganze Datei wird durch die eine neue Zeile ersetzt. Willst du innerhalb der Textdatei eine Änderung schreiben, musst du die ganze Datei erneut schreiben lassen (meines Wissens).
 
Die veränderte Zeile muss wieder da sein, wo sie auch vorher war. An welcher Stelle muss ich dann den Rest einfügen? Habt Ihr vielleicht ein Beispiel?
 
Pseudocode:
Java:
while(Zeilen verfügbar)
{
   zeile = leseZeile()
   if(zeile muss geändert werden) ändereZeile(); schreibe(geänderteZeile)
   else schreibe(zeile)
}
 
Wenn die Dateien eine feste Größe haben und diese klein ist kannst du sie auch komplett in den Speicher laden und dort ändern, dann komplett wieder speichern.
 

Neue Themen


Zurück
Oben