码迷,mamicode.com
首页 > 编程语言 > 详细

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

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

标签:io   ar   os   sp   java   文件   on   art   bs   

 

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 读取文件内容 三种形式及效率对比

标签:io   ar   os   sp   java   文件   on   art   bs   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!