Java IO流之【缓冲流和文件流复制文件对比】
来源:互联网 发布:淘宝脏辫接发视频教程 编辑:程序博客网 时间:2024/06/06 04:00
与文件流相比,缓冲流复制文件更快
代码:
package Homework;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFormat;/** * 1 )将"今年是反法西斯胜利70周年,举国欢庆,所以要放假啦" 字符串 * 使用文件字符输出流 写入到oldhappy.dt文件中,复写10000行, * 要求换行 在文件的开头写入当前的时间 精确到毫秒在文件的结尾也写入当前的时间 精确到毫秒。 * @author Administrator * */public class Test1 { public static void main(String[] args) { copy1(); copy2(); } //使用文件流复制文件 public static void copy1(){ FileOutputStream fos=null; try { //创建输入流,并创建要写入的文件oldhappy.dt fos=new FileOutputStream(new File("oldhapy.dt")); //获取写入前的当前时间 long l=System.currentTimeMillis(); //格式化时间 SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS"); String time=s.format(l); //写入时间 fos.write((time+"\r\n").getBytes()); //写入要写的内容,并换行 // \r\n表示换行 for(int i=1;i<=10000;i++){ fos.write("今年是反法西斯胜利70周年,举国欢庆,所以要放假啦\r\n".getBytes()); fos.flush(); } //获取写完后 时间 long l2=System.currentTimeMillis(); String time2=s.format(l2); fos.write(time2.getBytes()); //复制文件的时间 System.out.println("使用文件流复制文件时间:"+(l2-l)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(fos!=null){ try { fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } //使用缓冲流复制文件 public static void copy2(){ BufferedOutputStream bos=null; try { bos=new BufferedOutputStream(new FileOutputStream("newhapy.dt")); long l=System.currentTimeMillis(); //格式化时间 SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS"); String time=s.format(l); //写入时间 bos.write((time+"\r\n").getBytes()); //写入要写的内容,并换行 // \r\n表示换行 for(int i=1;i<=10000;i++){ bos.write("今年是反法西斯胜利70周年,举国欢庆,所以要放假啦\r\n".getBytes()); bos.flush(); } //获取写完后 时间 long l2=System.currentTimeMillis(); String time2=s.format(l2); bos.write(time2.getBytes()); //复制文件的时间 System.out.println("使用缓冲流复制文件时间:"+(l2-l)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(bos!=null){ try { bos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }}
运行结果比较:
0 0
- Java IO流之【缓冲流和文件流复制文件对比】
- Java IO流和文件
- IO基础之文件字节流和文件字符流
- Java IO流和文件之一(概念)
- Java IO流和文件之一(例子)
- IO流文件复制缓冲效率测试
- IO流和文件上传下载
- 缓冲字节流和文件操作
- JAVA流和文件
- Java文件与IO(三)之缓冲流
- JavaSE复习之十 高级特性:IO流和文件
- JAVA使用字节流与高速缓冲字节流复制文件对比
- java学习之路----IO----合并流和文件操纵流
- 文件与IO(三)之缓冲流
- IO之缓冲流
- IO之缓冲流
- Java IO流 文件的复制的几种方法(字节流,字符流,缓冲流)
- java io 缓冲流
- 性能测试中WAS常用修改
- 程序包javax.servlet不存在
- C语言 scanf在while循环里的无限循环
- PowerOj 1736(网络流—最大流)
- 【BFS】(一)抓住那头牛(poj 3278)
- Java IO流之【缓冲流和文件流复制文件对比】
- 湖南省第八届省赛,最小生成树Prim算法+利用二进制的状态枚举
- JVM学习笔记(八)类加载机制-类加载器
- 博客地址
- 囧字构造 模拟
- JVM源码分析之FinalReference完全解读
- 多线程之 synchronized 和 volatile
- Java反射八 数组
- Unreal Open Day 2017 参会总结——ACT(动作)游戏制作经验分享