Datei einlesen und Ergebnis wieder in Datei schreiben

scorpionesc

Mitglied
Hallo zusammen,

ich bin Java Anfänger und benötige dringend Unterstützung.

Ich benötige ein Programm, welches eine Datei aus einer Textdate einließt und das Ergebnis wieder in eine andere Datei zurückschreibt.

Das Einlesen der Datei konnte ich mittels Internet schon herausfinden. Wie kann ich diesen Code so umschreiben, dass eine Datei "ausgabe.txt" erzeugt wird?

Java:
import java.io.*;

class ReadFile3
{
  public static void main(String[] args) throws IOException
  {
    FileReader fr = new FileReader("test.txt");
    BufferedReader br = new BufferedReader(fr);

    String zeile = "";

    while( (zeile = br.readLine()) != null )
    {
      System.out.println(zeile);
    }

    br.close();
  }
}
 
Richtig. Erst soll die Datei eingelesen werden. Dann soll anstatt der Bildschirmanzeige in Zeile 14 der Inhalt meiner Datei "test.txt" in eine neue Datei "ausgabe.txt" geschrieben werden. Da die text.txt mehrere Zeilen enthält, muss die Schreibfunktion wahrscheinlich in die while-Schleife oder?

Fragt mich bitte nicht nach dem Sinn dieser Aktion, ich versuche mich Stück für Stück an eine andere Aufgabenstellung heranzutasten und scheitere jetzt leider an der Verknüpfung zwischen Ein- und Ausgabe in eine Datei.....

Vielen Dank.
 
Ohne es getestet zu haben:


Java:
try
{
	FileReader fr = new FileReader("test.txt");
	BufferedReader br = new BufferedReader(fr);
	String zeile = "";
	StringBuffer sb = new StringBuffer();
			
	//Datei komplett einlesen
	while((zeile = br.readLine()) != null)
	{
		sb.append(zeile+"\n");
	}
	br.close();
			
			
	//Datei als ganzes schreiben
	FileWriter fw = new FileWriter("testAusgabe.txt");			
	fw.write(sb.toString());
	fw.close();
}
catch (IOException e)
{
	e.printStackTrace();
}

Man könnte den FileWriter auch noch in einen BufferedWriter stecken ... Keine Ahnung, ob das hier Vorteile/Nachteile bringt ... Das sähe dann so aus:

Java:
FileWriter fw = new FileWriter("testAusgabe.txt");
BufferedWriter bufferedWriter = new BufferedWriter(fw);
bufferedWriter.write(sb.toString());
bufferedWriter.close();
 
Zuletzt bearbeitet:

Zurück
Oben