Java 转换流

字符编码与字符集

win7、win10默认使用GBK编码

在IDEA中的默认编码是UTF-8,而在Windows系统中的默认编码是GBK,所以读取会产生乱码

使用转换流解决上面的问题 

FileReader

转换流

使用字符输入流读取中文字符的过程

转换流的工作原理

转换流可以自己指定编码表

OutputStreamWriter

使用

InputStreamReader

使用

文件编码格式转换练习

package FileInputStreamTest;

import java.io.*;

public class codeChange {
    public static void main(String[] args) throws IOException {
        InputStreamReader isr = new InputStreamReader(new FileInputStream("C:\\Users\\hpuzjh\\Desktop\\utf8.txt"),"utf-8");
        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("C:\\Users\\hpuzjh\\Desktop\\gbk.txt"),"gbk");
        int len = 0;
        while ((len = isr.read())!=-1){
            osw.write(len);
        }
        osw.close();
        isr.close();
    }
}
package FileInputStreamTest;

import java.io.*;

public class codeChange {
    public static void main(String[] args) throws IOException {
        InputStreamReader isr = new InputStreamReader(new FileInputStream("C:\\Users\\hpuzjh\\Desktop\\utf8.txt"),"utf-8");
        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("C:\\Users\\hpuzjh\\Desktop\\gbk.txt"),"gbk");
        int len = 0;
        char[] chs = new char[1024];
        while ((len = isr.read(chs))!=-1){
            osw.write(chs,0,len);
        }
        osw.close();
        isr.close();
    }
}
发布了369 篇原创文章 · 获赞 74 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_41333844/article/details/103125443