java文件写入乱码怎么办

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知识请关注硕下网java基础教程栏目。

以上就是java文件写入乱码怎么办的详细内容,更多请关注其它相关文章!