InputStreamReader 和FileReader的区别

InputStreamReader 和 BufferedReader 。其中最重要的类是 InputStreamReader ,它是字节转换为字符的桥

梁。 你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如 GBK 等。

 

FileReader 与 InputStreamReader 涉及编码转换 ( 指定编码方式或者采用 os 默认编码 ) ,可

能在不同的平台上出现乱码现象!而 FileInputStream 以二进制方式处理,不会出现乱码现象 .

 

FileInputStream字节流是 以一个一个字节来读。 FileReader字符流是 以一个一个字符来读取的。

 

BufferedReader bufReader = null;

InputStreamReader isr = null;

FileReader fr = null;

try {

  for(String fileName:fileNames){

   方法一:   

   isr = new InputStreamReader(new FileInputStream("D:\test.txt"), "utf-8");    

   bufReader = new BufferedReader(isr);

   方法二:

    fr = new FileReader("D:\test.txt");    

    bufReader = new BufferedReader(fr);        

      while (bufReader.ready()) {    

            // 1. 得到每一行数据       

           String dataLine = bufReader.readLine();

     }

}

转载于:https://www.cnblogs.com/androidsj/archive/2013/03/20/2971552.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值