Java は、コード化けを避けるために次のようにファイルを書き込みます: (推奨: java ビデオ チュートリアル )
/** * * @Title: writeFile * @Description: 写文件 * @param @param filePath 文件路径 * @param @param fileContent 文件内容 * @return void 返回类型 * @throws */ public static void writeFile(String filePath, String fileContent) { try { File f = new File(filePath); if (!f.exists()) { f.createNewFile(); } OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(f), "UTF-8"); BufferedWriter writer = new BufferedWriter(write); writer.write(fileContent); writer.close(); } catch (Exception e) { System.out.println("写文件内容操作出错"); e.printStackTrace(); } }
メイン実装コード: OutputStreamWriter write = new OutputStreamWriter( new FileOutputStream(f), "UTF-8");
OutputStreamWriter は文字ストリームからバイト ストリームへのブリッジです。指定された文字セットを使用して、そこに書き込まれる文字をバイトにエンコードします。 。使用する文字セットは、名前で指定することも、明示的に指定することも、プラットフォームのデフォルトの文字セットを受け入れることもできます。
write() メソッドを呼び出すたびに、指定された文字に対してエンコード コンバーターが呼び出されます。結果のバイトは、基礎となる出力ストリームに書き込まれる前にバッファーに蓄積されます。このバッファのサイズは指定できますが、デフォルトでは、ほとんどの目的に十分な大きさです。 write() メソッドに渡された文字はバッファリングされないことに注意してください。
OutputStreamWriter ストリームのコンストラクターは、文字セットを指定することも、設定せずにデフォルト値を取得することもできます。
Java についてさらに詳しく知りたい場合は、Java 基本チュートリアル 列に注目してください。
以上がJavaでファイル書き込み時の文字化けを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。