PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java: Textdatei zeilenweise schreiben


ooAlbert
2007-02-07, 12:13:33
Hi,

ich möchte periodisch daten in eine textdatei ausgeben. Ich hab dazu schonmal etwas gebastelt aber die datei wird jedesmal überschrieben anstatt weitergeführt.

Weiß wer wie man das abändert?


Date dt = new Date();
Vector vec2 = new Vector();
vec2.add( dt+" "+segment+" "+bogen+" "+x);

try {
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream( "log.txt" ) ) );
for( int i=0; i<vec2.size(); i++ ) {
String s = vec2.get( i ).toString();
out.newLine();
System.out.println( s );
out.write( s, 0, s.length() );
out.newLine();
}
out.close();
}catch( IOException ex ) {
System.out.println( ex );
}

darph
2007-02-07, 12:20:45
out.write(s, 0, s.length());
Du beginnst immer an Stelle 0 in der Datei zu schreiben.

Gast
2007-02-07, 12:55:46
der typische schreib-fehler den jeder mal gemacht hat =) wie schön

Monger
2007-02-07, 13:11:56
Viel zu kompliziert. Das geht auch einfacher.



List<String> textElemente = new ArrayList<String>();
// hier Liste füllen

BufferedWriter writer = new BufferedWriter(new FileWriter("Dateiname.txt");
// alternativ um an eine Datei anzuhängen: new FileWriter("Dateiname.txt", true);

for(String zeile : textElemente){
writer.write(zeile);
write.newLine();

}

writer.close();


Und gegebenenfalls natürlich Exceptions fangen oder weiterwerfen.