Java での UTF-8 ファイルの書き込み
Java では、テキスト ファイルを書き込むためのデフォルトの出力エンコーディングが必ずしも UTF-8 であるとは限りません。これにより、ファイルの読み取りまたは処理時に互換性の問題が発生する可能性があります。 UTF-8 ファイルを明示的に作成する必要がある場合は、次のアプローチを利用できます。
解決策
書き込みに FileWriter クラスを使用する代わりに、FileOutputStream を使用します。 OutputStreamWriter を使用します。これにより、構築時に希望の文字エンコーディングを指定できます。 try-with-resources ステートメントを使用して、リソースが適切に処理されるようにします。
try (OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(PROPERTIES_FILE), StandardCharsets.UTF_8)) // do stuff }
説明
FileOutputStream は、実際のファイルの書き込みを処理する低レベルのストリームです。 OutputStreamWriterでラップすることで文字エンコード変換が可能になります。 StandardCharsets.UTF_8 をコンストラクターに渡すことで、出力が UTF-8 を使用してエンコードされるように指定します。
try-with-resources ステートメント内で、ファイルの書き込み操作を実行できます。 try ブロックは、リソース (ファイル ストリーム) が完了時または例外の場合に自動的に閉じられることを保証します。
このアプローチを利用すると、関係なく、UTF-8 でエンコードされたファイルの作成を効果的に強制できます。システムのデフォルト設定。
以上がJava プログラムが UTF-8 エンコーディングでファイルを書き込むことを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。