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 ...
随机推荐
- WAMPP安装后mysql无法启动
上午 10:23:42 [mysql] This may be due to a blocked port, missing dependencies, 上午 10:23:42 [mysql] imp ...
- SQL Lazy Spool Eager Spool
https://www.simple-talk.com/sql/learn-sql-server/showplan-operator-of-the-week-lazy-spool/ The Lazy ...
- QPainter类的一些问题
QPainter painter1(this);//新建类 painter1.setRenderHint(QPainter::Antialiasing,true);//设置反锯齿 painter1.s ...
- 如何在cluster上跑R脚本
R 是一个比较不错但是有时候操蛋的语言,不错是因为用着爽的时候真的很爽,操蛋是因为这种爽不是什么时候都可以的,比如说在cluster上批处理跑R脚本. 当然说这话有些在上面跑过的各种不服气,你丫傻逼吧 ...
- #define 小知识
#define N 15 #define M 2+N #define W 2*M 问3*W的结果是多少? 结果为27: 知识点:define只能进行非常简单的运算,简单来说就是仅仅是将自身的值代入,而 ...
- 【Python全栈笔记】04 [模块二] 18 Oct lambda表达式, 内置函数
lambda表达式 lambda表达式是函数的一种简化,如下面两种函数定义方法,实际上效果是一样的. 使用lambda表达式的函数,func2是函数名,lambda: 后面的123 即为返回值. de ...
- Web项目中删错文件怎么办
在开发过程中,有时会因为手误将文件错误删除,会造成很大的困惑,今天看到一个网友分享的一种可以恢复文件的方式特别好用,现在分享给大家. 1.首先在删除文件的路径下创建与原来文件名字相同的文件. 2.在文 ...
- mysql中的SUBSTRING_INDEX
SUBSTRING_INDEX(str,delim,count) Returns the substring from string str before count occurrences of t ...
- 初步涉及JDBC
一.为什么要使用JDBC: 1.在之前的学习中,我们都是通过控制台来输入信息,创建对象,然后再输出信息,但是这样无法保存数据,每次程序运行都需要重新输入,很麻烦. 2. 在这样的情况下,我们就需要利用 ...
- 发送短信MFMessageComposeViewController
if([MFMessageComposeViewController canSendText]) { MFMessageComposeViewController * controller = [[M ...