欢迎光临
梦想从学习开始!

读取大文件性能测试| 小熊测试

本文主要介绍 读取大文件性能测试| 小熊测试,小熊希望对大家的学习或者工作具有一定的参考学习价值,在测试领域有所提升和发展。

  读取大文件的方法这里有三种,

  第一种,使用commons-io的FileUtils的类进行读取

  第二种,使用Scanner进行读取

  第三种,使用cache进行读取

  读取文件大小:102M

  使用commons-io的FileUtils类进行读取

  public static void testReadFile() {

  try {

  LineIterator lineIterator = FileUtils.lineIterator(new File("D:/test.log"), "UTF-8");

  while (lineIterator.hasNext()) {

  String line = lineIterator.nextLine();

  System.out.println(line);

  }

  } catch (IOException e) {

  e.printStackTrace();

  }

  }

  读取时间在8秒左右

  使用Scanner进行读取:

public static void testScannerReadFile() {

FileInputStream fileInputStream = null;

Scanner scanner = null;

try {

fileInputStream = new FileInputStream("D:/test.log");

scanner = new Scanner(fileInputStream, "UTF-8");

while (scanner.hasNext()) {

String line = scanner.nextLine();

System.out.println(line);

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} finally {

if (fileInputStream != null) {

try {

fileInputStream.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if (scanner != null) {

scanner.close();

}

}

}

  读取时间在10秒左右

  使用cache读取

public static void readCache() {

String filename = "D:/test.log";

File file = new File(filename);

BufferedReader reader = null;

try {

reader = new BufferedReader(new FileReader(file), 10 * 1024 * 1024);   //读大文件 设置缓存

String tempString = null;

while ((tempString = reader.readLine()) != null) {

System.out.println(tempString);

}

reader.close();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (reader != null) {

try {

reader.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

  读取时间在8秒左右,与commons-io的FileUtils不相上下,我这边暂时没有更大的文件进行比较如果,有更大的文件,欢迎进行测试比较。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小熊分享邦(www.xxfxb.com),希望大家能坚持软件测试之路,谢谢。

赞(0) 打赏
未经允许不得转载:小熊分享邦 » 读取大文件性能测试| 小熊测试

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏