Hallo Zusammen!
folgendes ich habe eine ArrayList, in der Strings abgespeichert sind. jetz möchte ich diesen String als eine Textdatei abspeichern in einem bestimmten Ordner. auf der Java.sun webseite habe ich eine Filewriter gefunden. ich denk mal, dass das mit dem funktionieren könnte, weiß aber nicht wie ich den anwenden soll, also wie ich dass dann in meinen code schreiben soll?
API:
FileWriter
public FileWriter(String fileName)
throws IOException
Constructs a FileWriter object given a file name.
Parameters:
fileName - String The system-dependent filename.
Throws:
IOException - if the named file exists but is a directory rather than a regular file, does not exist but cannot be created, or cannot be opened for any other reason
Sie wird neu erstellt, bzw. überschrieben.
mit FileWriter(String, boolean) kannst du auch festlegen, ob dein Text stattdessen an die vorhandene Datei angehängt werden soll.
Sie wird neu erstellt, bzw. überschrieben.
mit FileWriter(String, boolean) kannst du auch festlegen, ob dein Text stattdessen an die vorhandene Datei angehängt werden soll.
in meinem Fall hab ich ja eine Arraylist, in der meine ganzen Strings gespeichert sind, wenn ich jeden string ausgebe, habe ich einen text und diesen text will ich jetzt speichern!
das heißt, dass ich jedes Element aus meiner Arraylist herausnehmen muss und dass dann mit der zweiten variante des FileWriters (FileWriter(String,Boolean), an die datei immer anhängen muss, sonst würd ich ja für jeden String aus meiner Liste eine Datei erstellen. oder?
hast recht des funktioniert!
aber da is noch ein kleines problem!
Es wird zwar alles in eine datei geschrieben, aber die Strings werden hintereinander angehängt!
es sollte aber so sein, dass jeder String in einer neuen zeile steht!
Der FileWriter ersetzt doch bereits von Haus aus das Zeichen '\n' durch
die, für das zugrundeliegende System, korrekte Zeichensequenz.
Aber ich lasse mich gerne eines Besseren belehren, wenn auch der FileWriter
die Ausgabe von System.getProperty("line.seperator") benötigt.
Aber, je mehr ich darüber nachdenke, glaube ich dass das sogar falsch wäre:
Beispiel: WinDoof-BS
System.getProperty("line.seperator") liefert "\r\n"
Dann müsste der FileWriter dass doch zu einem
"\r\r\n"
verwursteln. Oder sehe ich das falsch? ???:L
Der FileWriter schreibt das was du ihm gibst, und nichts anderes.
Wenn du den Zeilenumbruch des Systems haben willst nimmst du die println Methode des printWriters oder den FileWriter mit write(String + System.getProperty("line.seperator"));