文件行数

本文对比了两种文件行数统计方法:使用BufferedReader与DataInputStream的readLine()方法。实验证明,BufferedReader方法在效率上明显优于DataInputStream,前者处理2万条数据仅耗时16毫秒,而后者耗时高达3688毫秒。
1、文件行数的读取
方法1:BufferedReader.readLine(), 20000条数据经测试耗时16毫秒
  public int getValidateLineCount(String fileName) {
    int lineCount = 0;
    try {
      FileInputStream fis = new FileInputStream(new File(fileName));
      BufferedReader br = new BufferedReader(new InputStreamReader(fis));
      while (br.readLine() != null) {
        lineCount++;
      }
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    return lineCount;
  }

方法2:DataInputStream.readLine(), 但是readLine()方法已不建议使用,且在本次实践中测试效率较低。经测试20000条数据耗时:3688毫秒
public int getValidateLineCount(String fileName) {
    int lineCount = 0;
    try {
      FileInputStream fis = new FileInputStream(new File(fileName));
      DataInputStream dis = new DataInputStream(fis);
      while (dis.readLine() != null) {
        lineCount++;
      }
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    return lineCount;
  }



本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/280443,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值