#1 27. Mai 2006 Hallo! Ich probiere jetzt schon seit mehreren Tagen etwas mit der Klasse PrintWriter in eine Datei zu schreiben... Es klappt einfach nicht. Vielleicht sieht ja wer den Fehler im Code Code: import java.io.*; public class test { private File dat; private FileOutputStream raus; private PrintWriter wr; public test() throws IOException { dat = new File("C:\\Dokumente und Einstellungen\\XXXXX X\\Desktop\\proxy tool\\andrq2.ini"); raus = new FileOutputStream(dat); wr = new PrintWriter(raus); wr.println("hallo"); } } So wies hier ist, bleibt die Datei einfach leer. greetz hell + Multi-Zitat Zitieren
#2 27. Mai 2006 Das das nicht klappt liegt daran, dass Java nach Aufruf von println die Daten nicht direkt schreibt, sondern intern in einen Puffer packt. Lösung: Code: public void test() throws IOException { File dat = new File( "C:\\Dokumente und Einstellungen\\xxxxxx\\Desktop\\andrq2.ini" ); PrintWriter wr = new PrintWriter( new FileOutputStream( dat ), true ); //Moeglichkeit 1 wr.println( "hallo" ); wr.flush(); //Moeglichkeit 2 wr.close(); //Moeglichkeit 3 (sollte immer geschlossen werden) } Möglickeit 1 ist, dass true hinzuzufügen, dass ändert intern, das nach dem Aufruf von println dirket auf die Festplatte geschrieben wird. Möglichkeit 2: Hier wird flush aufgerufen (nur notwendig wenn das true nicht steht) was Java dazu veranlasst den o.g. Puffer auf die Festplatte zu schreiben. Möglichkeit 3: Solltest du immer machen - die Datei schließen - nach dem Aufruf wird auch erst der Puffer geschrieben und dann die Datei geschlossen.. Gruß + Multi-Zitat Zitieren
#3 27. Mai 2006 Geil! Danke! Wenigstens gibts in diesem Board Leute die Ahnung haben *g* Habs schon in nem Java Board probiert - ohne Erfolg.... danke hast ne 10 hell //edit Eine Frage hätte ich doch noch! Wie kann ich so einen String pref("network.proxy.type", 0); in eine Datei schreiben? Die Anführungsstriche machen mir Probleme, da ich keinen String erstellen kann, der diese Anführungsstriche " " in dem String selbst hat. + Multi-Zitat Zitieren
#4 27. Mai 2006 Du musst die Anführungszeichen einfach quoten: println("pref(\"network.proxy.type\",0);"); + Multi-Zitat Zitieren