java 读取文件内容 三种形式及效率对比
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 读取文件内容 三种形式及效率对比的更多相关文章
- java读取文件内容常见几种方式
①随机读取文件内容 ②以行为单位读取文件,常用于读面向行的格式化文件 ③以字符为单位读取文件,常用于读文本,数字等类型的文件 ④以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件 pa ...
- java读取文件的几种方式性能比较
//普通输入流读取文件内容 public static long checksumInputStream(Path filename) { try(InputStream in= Files.newI ...
- Java读取文件的几种方式
package com.mesopotamia.test; import java.io.BufferedReader; import java.io.ByteArrayInputStream; im ...
- python 逐行读取文件的三种方法
方法一: 复制代码代码如下: f = open("foo.txt") # 返回一个文件对象 line = f.readline() ...
- java读取文件内容
获取文件内容 picurl = "http://www.baidu.com/data.txt"; URL urlfile = new URL(picurl); BufferedRe ...
- java读取文件内容并输出到控制台,java中实现文件复制
public class TestFileInputStream { public static void main(String [] args) { //读取指定文件中内容,并在控制台输出 Fil ...
- php读取文件内容几种正确方
1: //方法一 用while来些fgets一行行读 2: $file_name="1.txt"; 3: $fp=fopen($file_name,'r'); 4: while(! ...
- Java创建线程的三种形式的区别以及优缺点
1.实现Runnable,Callable Callable接口里定义的方法有返回值,可以声明抛出异常. 继承Callable接口实现线程 class ThreadCall implements Ca ...
- Java——反射三种方式的效率对比
转载自:https://blog.csdn.net/aitcax/article/details/52694423 1 使用field(效率最高) long start = S ...
随机推荐
- linux c学习笔记08--文件操作
1 . 创建int creat(const char *filename, mode_t mode);参数 mode 指定新建文件的存取权限,它同 umask 一起决定文件的最终权限( mode&am ...
- zTree开发下拉树
最近,因为工作需要一个树形下拉框的组件,经过查资料一般有两种的实现方法.其一,就是使用zTree实现:其二,就是使用easyUI实现.因为公司的前端不是使用easyUI设计的,故这里我选择了zTree ...
- Arcgis Server发布服务
提到Arcgis Server 服务的发布,做起来貌似很简单,就算电脑再卡,只要鼠标还能点,一个小时肯定能搞定,但是当你遇到问题的时候,就头大了,也许搞上个一两天都摸不着头脑,最后你采取的措施可能是一 ...
- strstr函数
原型:char * strstr( char *haystack, char *needle ) 用法:#include <string.h> 功能:在haystack中寻找needle ...
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
转自http://blog.163.com/zhangjie_0303/blog/static/9908270620146951355834/ 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 w ...
- Struts2 的 值栈和ActionContext
1.ValueStack 和 ActionContext 的关系与区别: -- 相同点:它们都是在一次HTTP请求的范围内使用的,它们的生命周期都是一次请求 -- 不同点:ValueStack 分为对 ...
- spring-mybatis jar下载地址
http://central.maven.org/maven2/org/mybatis/mybatis-spring/1.3.0/
- 对dijkstra算法的自我理解,c#例子
dijkstra该算法主要应用在求解最短路径,从最近点开始,广度搜索. 假设有向图中有10个顶点,求其中某个顶点a到其它顶点的最短路径..满足贪心算法的2个标准.时间复杂度为O(N2) 此问题可以进行 ...
- Struts2 验证框架 validation.xml 常用的验证规则
validation.xml 的命名规则和放置路径: 文件名:<ActionClassName>-validation.xml <ActionClassName>就是要验证的A ...
- 将搜狗词库.scel格式转化为.txt格式
由于项目中要用到词库,而下载的搜狗词库是.scel格式,所以就用python脚本将搜狗词库.scel格式文件转化为.txt格式文件. #!/bin/python # -*- coding: utf-8 ...