# Zeile in Textdatei ersetzen



## Guest (27. Mrz 2008)

Könnt ihr mir sagen was ich tun muss, um in einer Textdatei eine bestimmte Zeile durch einen String zu ersetzen?

z.B.

hier die Textdatei:

Zeile1
Zeile2
Zeile3
Zeile4

"Zeile3" soll durch "ersetzt" ersetzt werden


----------



## SlaterB (27. Mrz 2008)

alle Zeilen einlesen, z.B. ein eine String-Liste,
eine Zeile ersetzen,
alle zurückschreiben


----------



## MiDniGG (27. Mrz 2008)

Datei einlesen/öffnen
Textauslesen
gewünschten Text ersetzen (replace)
Datei abspeichern

freuen!


----------



## MiDniGG (27. Mrz 2008)

mist zu langsam ^^


----------



## Guest (27. Mrz 2008)

Was ist denn der Unterschied zwischen FileInputStream und FileReader? Eine dieser beiden Klassen muss ich wohl verwenden oder?

Was haltet ihr von diesem Code?


```
try
{
	BufferedReader reader = new BufferedReader(new FileReader("C:\\test.txt"));
	String line;

	while ((line = reader.readLine()) != null)
	{
	        if (line.equals("Zeile3"))
	        {
		      line.replace("Zeile3", "ersetzt");
	         }
        }

        reader.close();
}
catch (Exception e)
{
        e.printStackTrace();
}
```


----------



## SlaterB (27. Mrz 2008)

> line.replace("Zeile3", "ersetzt"); 

Strings sind unveränderlich, durch den replace-Aufruf änderst du line nicht, 
sondern erhälst einen anderen String als Rückgabewert, den du bisher nicht verwendest,

line = line.replace("Zeile3", "ersetzt"); 
wäre besser

aber da du line nirgendwo verwendest ist das auch egal,
zurückschreiben mit FileWriter usw. musst du schon auch noch machen,
wenn es gleichzeitig passieren soll, dann zunächst in eine andere Datei

das Einlesen sieht aber schon gut aus, ja


----------



## Guest (27. Mrz 2008)

Ich komme das nicht so richtig weiter...

... vielleicht könnt ihr mir noch einen weiteren Tip geben>?


----------



## MiDniGG (27. Mrz 2008)

Wenn du uns sagst was dein Problem ist...???


----------



## Guest (27. Mrz 2008)

Könnte das so klappen? Falls ja, könnt ihr mir sagen, wie ich eine Datei löschen bzw. umbenennnen kann?


```
File zuÄnderndeDatei = new File("C:\\template.js");
File tempDatei = new File("C:\\temp.js");

try
{
	BufferedReader reader = new BufferedReader(new FileReader(zuÄnderndeDatei));
	BufferedWriter writer = new BufferedWriter(new FileWriter(tempDatei));

	String line;
			
	while ((line = reader.readLine()) != null)
	{
		if (!line.equals("zeile3"))
		{
			writer.write(line + "\r\n");
		}
		else
		{
			writer.write("ersetzt" + "\r\n");
		}
	}

	zuÄnderndeDatei.delete();
	tempDatei.renameTo(dest);
}
catch (Exception e)
{
	System.out.println("Fehler beim Anpassen der Template-Datei");
	e.toString();
}
```


----------



## SlaterB (27. Mrz 2008)

erst reader und writer close()n, dann das renameTo()

Code posten ist schonmal die halbe Miete, bei Fehlern dieses aber auch deutlich beschreiben


----------

