黑马程序员技术交流社区

标题: 关于用BufferedReader [打印本页]

作者: ye361571404    时间: 2014-9-21 22:44
标题: 关于用BufferedReader
我照着毕老师的视频敲一样的代码,然后到了读取文件中的中文时出现了乱码,这会是什么原因造成的,谁能帮我分析下吗?
以下是代码:

  1. public static void main(String[] args)throws IOException{
  2.                 //1.创建一个读取流FileReader对象和要读取的文件相关联
  3.                 FileReader fr = new FileReader("demo.txt");
  4.                 //2.创建的读取流缓冲对象BufferedReader
  5.                 //  使用缓冲技术,提高效率,将字符读取流对象作为参数传递给缓冲对象的够着函数
  6.                 BufferedReader bufr = new BufferedReader(fr);
  7.                 /*
  8.                  * 3.使用循环进行读取
  9.                  *         使用readLine()读取数据,返回的数据不包含任何行终止符,所以读取后进行要换行操作。
  10.                  */
  11.                 String line = null;
  12.                 while((line = bufr.readLine())!=null){
  13.                         System.out.println(line);
  14.                 }
  15.                 /*
  16.                  * 4.关闭资源。
  17.                  *         其实关闭缓冲区,就是在关闭缓冲区中的流对象。
  18.                  *         所以调用bufr.close()后不用调用fr.close();
  19.                  */
  20.                 bufr.close();
  21.         }
复制代码


作者: SenGoo    时间: 2014-10-19 11:25
本帖最后由 SenGoo 于 2014-10-19 11:26 编辑

编码问题!默认的应该是GBK!需要指定UTF-8;在13行   FileReader fr = new FileReader("demo.txt");
改为       FileReader fr = new FileReader("demo.txt",utf-8);


作者: yueyazhishang    时间: 2014-10-19 11:37
你确定出现乱码了?我测试的没有乱码。截图如下






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2