Erstellen und schreiben einer Datei mit UTF-8-Codierung
Hier ist mein Java-code.
File file = new File(path);
StringWriter sw = new StringWriter();
//Do something.
out.println(sw.toString()); //Works fine; prints.
try {
FileUtils.writeStringToFile(file, sw.toString(), "UTF-8");
} catch (IOException e) {
throw new RuntimeException( e );
}
Ich nicht schon habe die Datei erstellt und es ist auch keine erstellen Sie nach der Ausführung.
Wie kann ich dies tun?
- Also... machen Sie eine Ausnahme?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht verwenden
StringWriter
verwendenPrintWriter
statt:Sehen
- Datei.createNewFile()
.Wie erwähnt von @JohnWatts in den Kommentaren:
FileUtils
(mit v >= 1.3), dann ist er schon mit der Datei erstellt, falls erforderlich, einschließlich der übergeordneten Verzeichnisse. So gibt es keine Notwendigkeit fürFile.createNewFile()
.FileUtils
- API verwenden Sie? Ich bin immer unten einige Stimmen für die Annahme, eine J2SE-Methode, die scheint zu lösen die gestellte Aufgabe.I checked the code and it works.
Das einzige problem, das ich denken kann ist
path
Wert. Versuchen Sie, mit hartcodierten Pfad Wert. Weil ich bezweifle Datei wird immer erstellt, und Sie sind nicht in der Lage, es zu finden.