Schreiben in txt-Datei von StringWriter

8

Ich habe eine StringWriter-Variable, sw , die von einer FreeMarker-Vorlage ausgefüllt wird. Sobald ich sw ausgefüllt habe, wie kann ich es in eine Textdatei drucken?

Ich habe eine for-Schleife wie folgt:

%Vor%

Im Moment gebe ich nur auf dem Bildschirm aus. Wie mache ich das für eine Datei? Ich stelle mir vor, dass bei jeder Schleife mein sw geändert wird, aber ich möchte, dass die Daten jeder Schleife in der Datei zusammengefügt werden.

Bearbeiten: Ich habe den folgenden Code ausprobiert. Wenn es ausgeführt wird, zeigt es, dass file.txt geändert wurde, aber wenn es neu lädt, hat die Datei immer noch nichts.

%Vor%     
Community 09.08.2012, 12:19
quelle

3 Antworten

13

Wie wäre es mit

? %Vor%

und Sie könnten auch einen Ausgabestream in Erwägung ziehen, den Sie direkt an template.process(data, os); übergeben können, anstatt zuerst in einen StringWriter und dann in eine Datei zu schreiben.

Sehen Sie sich das API-Dokument für template.process(...) an, um herauszufinden, ob eine solche Einrichtung verfügbar ist.

Antwort 2

template.process(Object, Writer) kann auch ein FileWriter-Objekt, das eine Unterklasse von Writer ist, als Parameter verwenden, so dass Sie wahrscheinlich so etwas tun können:

%Vor%     
A4L 09.08.2012, 12:23
quelle
2

Sie können viele verschiedene Streams verwenden, um in eine Datei zu schreiben.

Ich persönlich arbeite gerne mit PrintWriter hier Sie können festlegen, dass die Datei im FileWriter angehängt wird (im folgenden Beispiel der Wert true):

%Vor%     
La bla bla 09.08.2012 12:27
quelle
1

Warum nicht einen FileWriter verwenden?

Öffnen Sie es, bevor Sie eine Schleife erstellen und die gewünschte Ausgabe generieren. Während Sie in den FileWriter schreiben, wird er an den Puffer angehängt und schreibt Ihre akkumulierte Ausgabe auf ein close()

Beachten Sie, dass Sie einen FileWriter im Modus überschreiben oder anfügen öffnen können, damit Sie ihn an vorhandene Dateien anhängen können.

Hier ist ein einfaches Tutorial .

    
Brian Agnew 09.08.2012 12:22
quelle

Tags und Links