Ich arbeite an einem Projekt für ein Spiel, das ich spiele, und ich kann nicht scheinen, es in eine Datei richtig zu schreiben. Ich hatte es an einem Punkt funktioniert, aber änderte einige Dinge herum und bewegte die Schreibmethode in eine andere Klasse. Irgendwann musste ich etwas kaputt gemacht haben.Java Schreiben in Verzeichnis erstellt nur Datei
public static void write(item a) {
//Variable declaration. outp is private instance String array
outp[0] = "<" + a.getID() + ">\n";
outp[1] = "<name>" + a.getName() + "</name>";
outp[2] = "<description>" + a.getDesc() + "</description>\n";
outp[3] = "<type>" + a.getType() + "</type>\n";
outp[4] = a.getOtherCode() + "\n";
outp[5] = "</" + a.getID() + ">\n";
try{
//Create/Append data to items.xml located in variable folder.
FileWriter writeItem = new FileWriter(modTest.modName + File.separator +"items.xml", true);
BufferedWriter out = new BufferedWriter(writeItem);
//Loop through array and write everything
for(int i = 0; i < outp.length; i++) {
System.out.println("outp[" + i + "] = " + outp[i]);
System.out.println("Writing line " + i + " of item "+ a.getID());
out.write(outp[i]);
}
}catch (Exception e) { System.err.println("Erro: " + e.getMessage());
}
}
// Die File.seperator und, true) bekam ich von anderen Fragen hier. Ich dachte, das könnte das Problem sein, aber nachdem ich sie kommentiert und einfach items.xml direkt in meinen Projektordner geschrieben habe, ist es immer noch leer. Ich habe versucht, einige Ausgaben für Debugging-Zwecke hinzuzufügen, und ich habe genau das, was ich erwartet habe. Alle variablen Ausgaben stimmen überein, was sie sollten.
Die Datei wird im richtigen Ordner erstellt, aber nichts wird darauf geschrieben.
Irgendwelche Ideen, was ich falsch gemacht habe?
+1 für den Nagel auf den Kopf schlagen. Meine einzige Beschwerde: Ich liebe den Geruch von undichten Datei-Deskriptoren am Morgen ... – bernie
Ja, das habe ich (wieder) vergessen. Danke für das zusätzliche Augenpaar. – Deedasmi