in ein txt file schreiben

sintakx

Grünschnabel
hallo.

ich bin ein neueinsteiger und wollte gerne einige variabeln in ein txt file scheriben, undzwar CSV (also semmikolon getrennt). kann mir jemand kurz erläutern wie man ein neues txt file erstellt und diese dann auffüllt mit den daten?

danke im voraus
 
Code:
import java.io.*;

public class Write {

    public static void main(String[] args) throws IOException {
	File outputFile = new File("outagain.txt");
        FileWriter out = new FileWriter(outputFile);
        String[] data = String[3]
        data[0] = "eins; zwei; drei;";
        data[1] = "eins; zwei; drei;";
        data[2] = "eins; zwei; drei;";
        for(int i = 0; i < data.length; i++) {
              out.writeln(data[i]);
        }        
        out.close();
    }
}

Schau dir bei gelegenheit die Klassen in
java.io.*;
an. Bessonders BufferedStream/Writer, RandomAccessFile, File und ähnliches an.
 
dann hab ich gleich noch eine frage :)

wenn ich das in eine for schleife verpacke, dann schreibts die datei jeedesmal neu und löscht das was vorher drin war. wie kann ich es machen dass er einfach eine zeile dazu fügt, anstatt das file zu überschreiben?
nochmals danke im voraus
 
sintakx hat gesagt.:
dann hab ich gleich noch eine frage :)

wenn ich das in eine for schleife verpacke, dann schreibts die datei jeedesmal neu und löscht das was vorher drin war. wie kann ich es machen dass er einfach eine zeile dazu fügt, anstatt das file zu überschreiben?
nochmals danke im voraus

Das steht in der API Dokumentation drinne :)
http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileWriter.html

Code:
FileWriter

public FileWriter(String fileName,
                  boolean append)
           throws IOException

    Constructs a FileWriter object given a file name with a boolean indicating whether or not to append the data written.

Parameters:
    fileName - String The system-dependent filename.
    append - boolean if true, then data will be written to the end of the file rather than the beginning. 
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

Der Schlüssel ist boolean append im Construktor. Du musst einen boolischen Wert (true/false) für append angeben.

Code:
public static void main(String[] args) throws IOException {
	File outputFile = new File("outagain.txt",true);

Der Schlüssel zu all deinen Problemen liegt in der API beschreibung:
http://java.sun.com/j2se/1.4.2/docs/api/

Die solltest du lernen zu lesen, da kannst du komplett nachschlagen wie mann welche Klasse nutzt :)
 
Hallo!

Ich würde aber vor dem close() noch ein flush() aufrufen, da erst dann die Daten aus dem Buffer auf das Medium geschrieben werden. Dies wird von close() IMHO nicht garantiert.

Gruß Tom
 
Zurück