文本流和汉字编码
作者:互联网
文本流:二进制数据采用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后面,添加编码格式用来表示将其解码为字符
搜索
复制
标签:fr,文本,fw,char,汉字编码,close,new,txt 来源: https://www.cnblogs.com/hungui/p/16411877.html