Java プログラムを使用して中国語を含む txt ファイルを読み書きすると、読み書きされる内容が文字化けすることがよくあります。これは、システムコーディングとプログラムコーディングでは使用するコーディング形式が異なるためです。
解決策:
この問題を解決するには、java.io.FileInputStream/java.io.InputStreamReader および java.io.FileOutputStream/java.io.OutputStreamWriter を使用します。
実装コード:
//默认情况下,win系统编码是gbk/gbk2312,读取和写入时加入编码字符集可以解决乱码 public class ReadAndWrite { private static void test(){ File firstFile = new File("D://fileone.txt"); File secondFile=new File("D://filesecond.txt"); BufferedReader in = null; BufferedWriter out = null; try { //加入编码字符集 in = new BufferedReader(new InputStreamReader(new FileInputStream(firstFile), "gbk")); //加入编码字符集 out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(secondFile), "gbk")); String line = ""; while((line = in.readLine())!=null){ System.out.println(line); out.write(line+"\r\n"); } } catch (FileNotFoundException e) { System.out.println("file is not fond"); } catch (IOException e) { System.out.println("Read or write Exceptioned"); }finally{ if(null!=in){ try { in.close(); } catch (IOException e) { e.printStackTrace(); }} if(null!=out){ try { out.close(); } catch (IOException e) { e.printStackTrace(); } } } }
Java の詳細については、PHP 中国語 Web サイトの java 基本チュートリアル 列に注目してください。
以上がJavaファイルが文字化けした場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。