首先不适用缓存技术,读取数据:

//非缓冲计时
package com.swust;
import java.io.*;
/*
*功能:创建一个程序,写10000个随机双精度的数到一个文件中,同时测试运用缓冲和非缓冲技术
*
* 读取数据,求平均数,进行这种操作所需要的时间
*分析:
* 在写开始操作之前,先获取当前时间
* 再将它同操作结束后的时间作比较,以此判断各个操作的时间
*实现:
* 仍使用两个类:
*/
public class flowTest { public static void main(String[] args) { double sum=0;
try{
long start=System.currentTimeMillis();
FileInputStream fileIn = new FileInputStream("sample.ini");
DataInputStream in=new DataInputStream(fileIn);
for (int i=0;i<10000;i++){
sum+= in.readDouble();
}
in.close();
long stop=System.currentTimeMillis();
System.out.println("平均数:"+(sum/10000));
System.out.println("程序运行了:"+(stop-start));
}catch(Exception e){
System.out.println(e.toString());
} } }

运行结果:

平均数:0.5061121254198577
程序运行了:16


使用缓冲技术:

//非缓冲计时
package com.swust;
import java.io.*;
/*
*功能:创建一个程序,写10000个随机双精度的数到一个文件中,同时测试运用缓冲和非缓冲技术
*
* 读取数据,求平均数,进行这种操作所需要的时间
*分析:
* 在写开始操作之前,先获取当前时间
* 再将它同操作结束后的时间作比较,以此判断各个操作的时间
*实现:
* 仍使用两个类:
*/
public class flowTest { public static void main(String[] args) { double sum=0;
try{
long start=System.currentTimeMillis();
FileInputStream fileIn = new FileInputStream("sample.ini");
////////////////////////////////////////
BufferedInputStream bfs_in =new BufferedInputStream(fileIn);
DataInputStream in=new DataInputStream(bfs_in);
////////////////////////////////////////
for (int i=0;i<10000;i++){
sum+= in.readDouble();
}
in.close();
long stop=System.currentTimeMillis();
System.out.println("使用缓冲后\n平均数:"+(sum/10000));
System.out.println("程序运行了:"+(stop-start));
}catch(Exception e){
System.out.println(e.toString());
} } }

运行结果:

使用缓冲后
平均数:0.5061121254198577
程序运行了:0

完成这个操作几乎不到一秒的时间,这种改善非常大,读取数据的时间几乎可以忽略,所以在大数据输入的时候应该采用缓冲流

最新文章

  1. JSTREE 实现AJAX重载入时刷新所有节点树
  2. LINQ系列:Linq to Object元素操作符
  3. python 实现二分法查找
  4. zoj 2387
  5. python 随机生成用户名、密码、手机号码
  6. 启动scala的方法
  7. jquery选择器从认识到使用初级篇
  8. Python单元测试:unittest使用简介
  9. git和SVN的区别
  10. nginx根据cookie分流
  11. div height 自适应高度 占满剩余高度的方法
  12. CSS 隐藏ul
  13. python Django 创建应用
  14. 【zznu-2174】
  15. 贪吃蛇easyx版本
  16. 两DD-WRT组建WDS设置
  17. JPA 使用 Specification 复杂查询和 Criteria 查询
  18. RPD Volume 168 Issue 4 March 2016 评论3
  19. setTimeout应用 &amp;&amp; 自动播放——幻灯片效果&amp;&amp; 自动改变方向——幻灯片效果
  20. crm使用soap取消用户訪问记录权限

热门文章

  1. Linux SSL 双向认证 浅解
  2. iOS纯代码工程手动快速适配
  3. iOS自定义字体及类目
  4. 谈谈Session会话和Cookie
  5. SpringMVC常用注解@Controller,@Service,@repository,@Component
  6. iOS 选择框 单选框
  7. dubbo框架揭秘之服务发布
  8. 不错的Django技术网址
  9. HNU 13064 Cuckoo for Hashing解题报告 North America - East Central 2013
  10. 1.1.Core Data是什么(Core Data 应用程序实践指南)