ホームページ  >  記事  >  Java  >  Javaファイルが文字化けした場合の対処方法

Javaファイルが文字化けした場合の対処方法

尚
オリジナル
2020-01-13 16:35:082643ブラウズ

Javaファイルが文字化けした場合の対処方法

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。