文本流和汉字编码

文本流:二进制数据采用InputStream/OutputStream

文本数据采用Reader/Writer

char[] ar = {'a','b','c','d'};
BufferedWriter fw = new BufferedWriter(new FileWriter("b.txt"));
fw.write(ar);
fw.close();
BufferedReader fr = new BufferedReader(new FileReader("b.txt"));
String i = null;
while ((i=fr.readLine()) != null){
    System.out.println(i);
}
fr.close();

在这段代码中我们通过FileWriter中wrier函数将char类型数组中的内容写入到指定文件內,

再通过FileReader读取指定文件內的内容读出

 

 

汉字编码:

默认字符集是GBK,将他更改为utf-8或别的字符,运行读写数据会乱码

解决问题:使用InputStreamReader它读取字节,并使用指定的charset其解码为字符

 

 

InputStreamReader bis = new InputStreamReader(new FileInputStream("c.txt"), "UTF-8");
        int i;
        while ((i=bis.read())!=-1){
            System.out.println((char)i);
        }
        bis.close();
在这段代码中我们通过在创建FileInputStream后面,添加编码格式用来表示将其解码为字符


posted @ 2022-06-25 16:29  冰灵IT  阅读(33)  评论(0)    收藏  举报