文本流和汉字编码

打印 上一主题 下一主题

主题 637|帖子 637|积分 1911

文本流:二进制数据采用InputStream/OutputStream
文本数据采用Reader/Writer
  1. char[] ar = {'a','b','c','d'};
  2. BufferedWriter fw = new BufferedWriter(new FileWriter("b.txt"));
  3. fw.write(ar);
  4. fw.close();
  5. BufferedReader fr = new BufferedReader(new FileReader("b.txt"));
  6. String i = null;
  7. while ((i=fr.readLine()) != null){
  8.     System.out.println(i);
  9. }
  10. fr.close();
复制代码
在这段代码中我们通过FileWriter中wrier函数将char类型数组中的内容写入到指定文件內,
再通过FileReader读取指定文件內的内容读出
 
 
汉字编码:
默认字符集是GBK,将他更改为utf-8或别的字符,运行读写数据会乱码
解决问题:使用InputStreamReader它读取字节,并使用指定的charset其解码为字符

 
 
  1. InputStreamReader bis = new InputStreamReader(new FileInputStream("c.txt"), "UTF-8");
  2.         int i;
  3.         while ((i=bis.read())!=-1){
  4.             System.out.println((char)i);
  5.         }
  6.         bis.close();
复制代码
  1. 在这段代码中我们通过在创建FileInputStream后面,添加编码格式用来表示将其解码为字符
复制代码
  1. <br><br>
复制代码
搜索
复制<br><br>免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

数据人与超自然意识

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表