A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 newlaw2013 于 2012-4-12 19:24 编辑

写了如下的代码,lqe.txt文件是我用记事本编写好,然后以UTF-8编码另存后的文件。
不知道为什么运行后的结果会是图片中的样子?
  1. import java.io.*
  2. class TransDemo
  3. {
  4. public static void main(String[] args) throws IOException
  5. {
  6. readUTF();
  7. }

  8. public static void readUTF() throws IOException
  9. {
  10. BufferedReader bufr =
  11. new BufferedReader(new InputStreamReader(new FileInputStream("lqe.txt"),"UTF-8"));

  12. String line = null;
  13. while((line=bufr.readLine())!=null)
  14. {
  15. System.out.println(line);
  16. }
  17. bufr.close();
  18. }
  19. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

2 个回复

倒序浏览
系统默认的是gbk编码,你用系统写的 txt文件却用utf-8来读取,肯定是读取不出的。你将utf-8换成gbk就可以随便怎么读都可以了。呵呵
回复 使用道具 举报
使用文本文档时,以UTF-8编码保存一个文件时,它会加点东西在里面(大小占三个字节的).
当你保存为空的时候,就可以看出来了.具体什么原理不知道,但可以解释那个多出来的"?".
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马