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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ye361571404 中级黑马   /  2014-9-21 22:44  /  943 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我照着毕老师的视频敲一样的代码,然后到了读取文件中的中文时出现了乱码,这会是什么原因造成的,谁能帮我分析下吗?
以下是代码:

  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.         }
复制代码

2 个回复

倒序浏览
本帖最后由 SenGoo 于 2014-10-19 11:26 编辑

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

回复 使用道具 举报 1 0
你确定出现乱码了?我测试的没有乱码。截图如下

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马