Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
JavaWie kann man mehrere Sätze in einer .txt einfügen?
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?
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....
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
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);
}