Java Wie kann man mehrere Sätze in einer .txt einfügen?

AlterMann

Cadet 4th Year
Registriert
Nov. 2012
Beiträge
123
hab vieles probiert.
Jedesmal wenn ich einen String einer .txt übergebe, wird nur die erste zeile bzw. line vom text übergeben, alles andere wird ignoriert.
Warum?
Was ist da anders, beziehungsweise falsch?
 
Was steht in deinem String? Inwiefern wird davon nur die erste "Zeile" uebergeben?

Poste doch mal etwas Code.
 
Zuletzt bearbeitet:
public void schreibeString(String fileName, String input)
{
File a =new File(fileName);
FileWriter fw=null;
try {
fw = new FileWriter(a);

} catch (IOException e) {

System.out.println("Kann nicht auf Datei zugreifen");
}
try {
fw.write(input);
System.out.println(fileName + " " + input);

} catch (IOException e) {

System.out.println("Kann nicht auf Datei schreiben");
}
try {
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("Kann nicht den FileWriter schliessen");
}


}


}


das ist meine funktion, und ich übergebe ihr die Parameter, Datei name und Datei Inhalt,
Sie fügt die Datei auch hinzu und den Inhalt, nur wird beim Inhalt nur die erste Zeile geschrieben.

Beispiel:

Filename: Dalai
Input: Lama
ist
ein
guter
Mensch.

SO....führe ich die funktion aus....wird die file datei auch hinzugefügt aber nur mit dem Inhalt Lama....
die restlichen Zeilen werden ignoriert....
 
Code:
fw = new FileWriter(a, true);
probier mal das. Damit haengst du an die Datei etwas an, anstatt zu ueberschreiben.

Wenn du im Editor auf erweitert klickst, kannste auch deinen Code in einen Codeblock schreiben. Ist dann besser zu lesen.
 
Zuletzt bearbeitet:
Habe schon lange kein Java mehr gemacht, aber afaik war die beste Herangehensweise einen String Buffer aufzubauen und den in das File zu schreiben. Etwas Code wäre natürlich sehr hilfreich, da es sonst wenige Anhaltspunkte gibt, wie man dir helfen könnte...
---
Oh da war ich wohl etwas langsam :D
 
fw.flush(), damit auch alles geschrieben wird.
btw, deinen Code mal in Code-Tags schreiben. Ziemlich unleserlich
 
Du musst wohl noch den aufrufenden Code posten, denn grundsätzlich funktioniert deine Methode. Ich hab sie mal aufgehübscht, denn so aufgebläht musst du sie nicht schreiben:
Code:
    public void schreibeString(String fileName, String input) {
        try (FileWriter fw = new FileWriter(fileName, true)) {
            fw.write(input + System.getProperty("line.separator"));
        } catch (IOException e) {
            System.out.println("Kann nicht auf Datei zugreifen");
        }
    }
Wenn ich das ausführe mit
Code:
        String[] toBeWritten = new String[] { "tralala", "lalelu", "bla" };
        for (String s : toBeWritten) {
            schreibeString("testFile", s);
        }
steht in der Datei
Code:
tralala
lalelu
bla
 
Zurück
Oben