Daten auslesen und in CSV speichern

paradox.

Aktives Mitglied
Hallo,

ich bin gerade drüber aus einer mehreren Datensätze die online in einer CSV-Datei gespeichert sind,
auszulesen und dann in eine neue CSV-Datei zu schreiben. Mein Problem ist jedoch, dass in der neue CSV-Datei immer nur der letzte Datensatz gespeichert wird, die anderen werden immer wieder überschrieben.
Kann mir da bitte jemand weiterhelfen, komm nicht auf meinen Fehler..

Hier meine Methode.

Java:
private static void ausgabe() {
	String speicher = "leer";
	BufferedWriter bw = null;
	try
	{
	URL url = zwei();
	Reader is = new InputStreamReader( url.openStream() );
	BufferedReader in = new BufferedReader( is );
	String dateiausgabe = "ausgabe.csv";
	for ( String s; ( s = in.readLine() ) != null; ){
	speicher = s;
	bw = new BufferedWriter(new FileWriter(dateiausgabe));
	}
	  
    bw.write(speicher); //String schreiben
    bw.flush();//Puffer leeren
    bw.close();//BufferWriter schliessen
	in.close(); 
	}
	catch ( MalformedURLException e ) {
	System.out.println( "MalformedURLException: " + e );
	}
	catch ( IOException e ) {
	System.out.println( "IOException: " + e );
	}
	
}
 
Zuletzt bearbeitet:
Java:
for ( String s; ( s = in.readLine() ) != null; ){
	speicher = s;
	bw = new BufferedWriter(new FileWriter(dateiausgabe, true), true);
	}

Du meinst dann quasi so? Jedoch gefällt ihm jetzt das zweite true nicht. "The Constructor is undefined"
 
Java:
	for ( String s; ( s = in.readLine() ) != null; ){
	bw = new BufferedWriter(new FileWriter(dateiausgabe, true), true);
	bw.write(s);
	bw.newLine();
	}

Java:
public class BufferedWriter {

	public BufferedWriter(FileWriter fileWriter, boolean b) {
		// TODO Auto-generated constructor stub
	}


	public void write(String s) {
		// TODO Auto-generated method stub
		
	}

	public void newLine() {
		// TODO Auto-generated method stub
		
	}


	public void flush() {
		// TODO Auto-generated method stub
		
	}


	public void close() {
		// TODO Auto-generated method stub
		
	}

}

Jetzt schreibt er gar nicht mehr in die Datei..
Sorry hab bis jetzt meist ohne Objektorientierung gearbeitet, da ich dort noch gar nicht fit bin.
 
Zuletzt bearbeitet:
Dein Code aus dem ersten Post ist gar nicht so verkehrt. Es haben sich nur zwei Fehler eingeschlichen:
1. musst du in der for-Schleife schreiben (und nicht nur einmal dahinter),
2. darfst du in der for-Schleife nicht jedesmal den BufferedWriter neu instanzieren.
Java:
bw = new BufferedWriter(new FileWriter(dateiausgabe));    
for ( String s; ( s = in.readLine() ) != null; )
{
    speicher = s;    
    bw.write(speicher); //String schreiben
}
Ich musste außerdem bei mir noch einen Zeilenwechsel mit einbauen...
Java:
    bw.write(speicher + System.getProperty("line.separator")); //String schreiben
 
Zuletzt bearbeitet:

Zurück
Oben