Java测试字节流和字符流,以及带缓存的字符流读取速度对比
来源:互联网 发布:linux ftp访问目录 编辑:程序博客网 时间:2024/05/19 14:00
测试用的文件为txt格式文件,大小为2.12MB
package IO;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader; /** * 我创建了两个方法, * fileReader()用来测试字节流的读取速度 * fileInputStream()用来测试字符流读取速度 * 测试文件为 0.98G的test.txt文本文件 * @author liqifeng * */public class speedTest { //文件类 static File file; /** * 此方法用来测试带缓存的字符流的读取速度 * @param file * @throws Exception */ public static void bufferReader(File file) throws Exception{ FileReader fileReader=new FileReader(file); BufferedReader bufferedReader=new BufferedReader(fileReader); while(true){ bufferedReader.readLine(); if(bufferedReader.readLine()==null){ break; } } } /** * 此方法用来测试字符流的读取速度 * @param file * @throws Exception */ public static void fileReader(File file) throws Exception{ FileReader f=new FileReader(file); while (true) { f.read(); if(f.read()==-1){ break; } } f.close(); } /** * 此方法用来测试字节流的读取速度 * @param file * @throws Exception */ public static void fileInputStream( File file) throws Exception{ FileInputStream f=new FileInputStream(file); while(true){ f.read(); if(f.read()==-1){ break; } } f.close(); } public static void main(String[] args) throws Exception { //初始化文件 file=new File("E:/java/test.txt"); System.out.println("字符流运行速度测试如下(五次)"); for(int i=0;i<5;i++){ //开始的时间戳 long before=System.currentTimeMillis(); //运行程序 fileReader(file); //结束的时间戳 long after=System.currentTimeMillis(); //总用时 long result=after-before; System.out.println(result); } System.out.println(); System.out.println("字节流运行速度测试如下(五次)"); for(int i=0;i<5;i++){ long before=System.currentTimeMillis(); fileInputStream(file); long after=System.currentTimeMillis(); long result=after-before; System.out.println(result); } System.out.println(); System.out.println("带缓存的字符流运行速度测试如下(五次)"); for(int i=0;i<5;i++){ long before=System.currentTimeMillis(); bufferReader(file); long after=System.currentTimeMillis(); long result=after-before; System.out.println(result); } }}
运行结果如下图
可以明显看到,此次测试中,字符流读取速度要快于字节流读取速度,带缓存的字符流要快于不带缓存的字符流
阅读全文
0 0
- Java测试字节流和字符流,以及带缓存的字符流读取速度对比
- 字节缓冲流和字符缓冲流的对比
- 黑马程序员 字节流和字符流缓冲区的对比
- Java的字符流和字节流
- Java的字符流和字节流
- java的字节流和字符流
- Java的字节流和字符流
- java的字节流和字符流
- Java的字节流和字符流
- JAVA的字节流和字符流
- Java的字节流和字符流
- Java的字节流和字符流
- java 字节流读取图片,字符流读取,二进制读取
- java 字节流读取图片,字符流读取,二进制读取
- java 字节流读取图片,字符流读取,二进制读取
- java 字节流读取图片,字符流读取,二进制读取
- java 字节流读取图片,字符流读取,二进制读取
- JAVA字节字符流
- java面向对象四大特性
- java实现余弦计算文本相似性
- UEditor生成适配移动端的HTML
- FastgrabCongigReader 华为P9 内存泄漏
- 判断单链表是否带环?若带环,求环的长度?求环的入口点?
- Java测试字节流和字符流,以及带缓存的字符流读取速度对比
- 最小正整数
- if语句
- 【数位DP+离散化】Beautiful numbers CodeForces
- Hibernate基础2
- glibc 实现代码的注释之翻译
- 关于Spirng框架个人总结
- ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 E Territorial Dispute (凸包)
- Eclipse Class Decompiler——Java反编译插件