首页 > 编程语言 > 详细

java 读取文件内容 三种形式及效率对比

时间:2014-11-26 18:19:12      阅读:290      评论:0      收藏:0      [点我收藏+]

 

IOUtils.getStringFromReader() 读取方式为最快的

InputStream in = null;
String line = "";
long start=0,end=0;
try {
start = System.currentTimeMillis();
in = new FileInputStream(new File("D://1.txt"));
InputStreamReader stream = new InputStreamReader(in, "GBK");
char[] temp = new char[1024];
int count = 0;
while ((count = stream.read(temp)) != -1) {
line = line + new String(temp, 0, count);
}
end = System.currentTimeMillis();
System.err.println(line);
System.err.println(end - start);
in.close();
} catch (FileNotFoundException e) {
System.err.println("文件未找到");
} catch (IOException e) {
System.err.println("IO读取不一致");
}

try {
long start1 = System.currentTimeMillis();
InputStream in1 = new FileInputStream(new File("D://1.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(in1, "GBK"));
String s="";
char[] temp = new char[1024];
int count=0;
while ((count=br.read(temp)) != -1) {
s += new String(temp, 0, count);
}
in1.close();
br.close();
long end1 = System.currentTimeMillis();
System.out.println(s);
System.out.println((end-start)+"readLines"+(end1 - start1));
long start2=System.currentTimeMillis();
InputStream in2 = new FileInputStream(new File("D://1.txt"));
String is=IOUtils.getStringFromReader(new BufferedReader(new InputStreamReader(in2,"GBK")));
System.err.println(is);
long end2=System.currentTimeMillis();
System.out.println((end-start)+"readLines"+(end1 - start1)+"测试"+(end2-start2));
} catch (FileNotFoundException e) {
System.out.println("文件未找到");
} catch (IOException e) {
System.out.println("IO读取不一致");
}

java 读取文件内容 三种形式及效率对比

原文:http://www.cnblogs.com/Snowflake/p/4123619.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!