Heim >Java >javaLernprogramm >Wie kann ich sicherstellen, dass mein Java-Programm Dateien in UTF-8-Kodierung schreibt?
Schreiben von UTF-8-Dateien in Java
In Java ist die Standardausgabekodierung zum Schreiben von Textdateien möglicherweise nicht immer UTF-8. Dies kann zu Kompatibilitätsproblemen beim Lesen oder Verarbeiten der Dateien führen. Wenn Sie explizit eine UTF-8-Datei erstellen müssen, können Sie den folgenden Ansatz verwenden:
Lösung
Anstatt die FileWriter-Klasse zum Schreiben zu verwenden, verwenden Sie FileOutputStream mit OutputStreamWriter. Dadurch können Sie beim Erstellen die gewünschte Zeichenkodierung festlegen. Verwenden Sie eine try-with-resources-Anweisung, um eine ordnungsgemäße Ressourcenbehandlung sicherzustellen:
try (OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(PROPERTIES_FILE), StandardCharsets.UTF_8)) // do stuff }
Erklärung
FileOutputStream ist ein Low-Level-Stream, der das eigentliche Schreiben der Datei übernimmt. Das Umschließen mit OutputStreamWriter ermöglicht die Konvertierung der Zeichenkodierung. Indem Sie StandardCharsets.UTF_8 an den Konstruktor übergeben, geben Sie an, dass die Ausgabe mit UTF-8 codiert werden soll.
Innerhalb der try-with-resources-Anweisung können Sie Ihre Dateischreibvorgänge ausführen. Der Try-Block garantiert, dass die Ressourcen (Dateiströme) nach Abschluss oder im Falle einer Ausnahme automatisch geschlossen werden.
Mit diesem Ansatz können Sie unabhängig davon effektiv die Erstellung einer UTF-8-codierten Datei erzwingen der Standardeinstellungen des Systems.
Das obige ist der detaillierte Inhalt vonWie kann ich sicherstellen, dass mein Java-Programm Dateien in UTF-8-Kodierung schreibt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!