(1)使用字节输入流对象FileInputStream、输出流对象FileOutputStream测试

package com.IOAndProperties.CopyFile;import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;/*文件复制练习:一都一写明确:数据源:c:\\a.jpg数据目的地:d:\\a.jpg文件复制的步骤:1.创建一个字节输入流对象,构造方法中绑定要读取的数据源2.创建一个字节输出流对象,构造方法中绑定要写入的目的地3.使用字节输入流对象中的方法read读取文件4.使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中5.释放资源文件的大小:5,808,587 字节一次读写一个字节:57219毫秒使用数组缓冲读取多个字节,写入多个字节:97毫秒*/
public class Demo01File {public static void main(String[] args) throws IOException {long s = System.currentTimeMillis();//  1.创建一个字节输入流对象,构造方法中绑定要读取的数据源FileInputStream fis = new FileInputStream("c:\\a.jpg");//  2.创建一个字节输出流对象,构造方法中绑定要写入的目的地FileOutputStream fos = new FileOutputStream("d:\\a.jpg");//一次读取一个字节写入一个字节的方式//  3.使用字节输入流对象中的方法read读取文件/*   int len = 0;while ((len=fis.read())!=-1 ){// 4.使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中fos.write(len);}*///使用数组缓冲读取多个字节,写入多个字节byte[] bytes = new  byte[1024];//3.使用字节输入流对象中的方法read读取文件int len = 0;//每次读取的有效字节个数while ((len=fis.read(bytes))!=-1){// 4.使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中fos.write(bytes,0,len);}//  5.释放资源(先关闭写的,后关闭读的;如果写完了,肯定读取完毕了)fos.close();fis.close();long e = System.currentTimeMillis();System.out.println("复制文件共耗时:"+(e-s)+"毫秒");}
}
结果:

文件的大小:5,808,587 字节
一次读写一个字节:57219毫秒
使用数组缓冲读取多个字节,写入多个字节:97毫秒

(2)使用字节缓冲输入流对象BufferedInputStream、字节缓冲输出流BufferedOutputStream对象测试

package com.IOAndProperties.CopyFile;import java.io.*;/*文件复制练习:一都一写明确:数据源:c:\\a.jpg数据目的地:d:\\a.jpg文件复制的步骤:1.创建字节缓冲输入流对象,构造方法中传递字节输入流2.创建字节缓冲输出流对象,构造方法中传递字节输出流3.使用字节缓冲输入流对象中的方法read,读取文件4.使用字节缓冲输出流中的方法write,把读取的数据写入内部缓冲区中5.释放资源(会先把缓冲区中的数据,刷新到文件中文件的大小:5,808,587 字节一次读写一个字节:168毫秒使用数组缓冲读取多个字节,写入多个字节:21毫秒*/
public class Demo02File {public static void main(String[] args) throws IOException {long s = System.currentTimeMillis();// 1.创建字节缓冲输入流对象,构造方法中传递字节输入流BufferedInputStream bis = new BufferedInputStream(new FileInputStream("c:\\a.jpg"));// 2.创建字节缓冲输出流对象,构造方法中传递字节输出流BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("d:\\a.jpg"));//3.使用字节缓冲输入流对象中的方法read,读取文件//一次读写一个字节/*      int len = 0;while ((len=bis.read())!=-1){//4.使用字节缓冲输出流中的方法write,把读取的数据写入内部缓冲区中bos.write(len);}*///使用数组缓冲读取多个字节,写入多个字节byte[] bytes = new byte[1024];int len =0;while ((len=bis.read(bytes))!= -1){bos.write(bytes,0,len);}//5.释放资源(会先把缓冲区中的数据,刷新到文件中bos.close();bis.close();long e = System.currentTimeMillis();System.out.println("复制文件共耗时:"+(e-s)+"毫秒");}
}
缓冲流测试结果:

文件的大小:5,808,587 字节
一次读写一个字节:168毫秒
使用数组缓冲读取多个字节,写入多个字节:21毫秒

缓冲流效率测试_文件复制相关推荐

  1. java没有提供将字符流_JAVA字符流为什么没有把文件复制?

    源自:5-2 字符流之文件读写流 JAVA字符流为什么没有把文件复制? package IsPackage; import java.io.FileInputStream; import java.i ...

  2. 缓冲流的效率测试_复制文件

    package com.learn.demo02.CopyFile;import java.io.FileInputStream; import java.io.FileOutputStream; i ...

  3. java 删除zip文件_Java--字节缓冲流的效率有多高?测试一下

    Java--字节缓冲流的效率有多高?测试一下 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 说缓冲流的效率特别高,那么今 ...

  4. Java_IOl流_缓冲流_转换流

    1.缓冲流 使用缓冲流实现a.jpg文件复制为b.jpg文件的操作 public class Exer01 {public static void main(String[] args) {//文件路 ...

  5. 2※、封装流(包装流派)、缓冲流【字节缓冲流、字符缓冲流】-->【字节缓冲流、字符缓冲流】 、字符集、转换流以及打印流

    封装流(包装流) ※缓冲流 [字节缓冲流.字符缓冲流] 缓冲流[字节流]文件复制以及BufferedOutputStream的源码查看 缓冲流[字符流] [读取操作.写出操作] 练习:文本排序:请将文 ...

  6. 字节流与字符流对文件复制的效率

    字节流与字符流在用于文件复制时效率差距较大 分别对文件夹下的txt文件,jpg文件与mp4文件进行复制粘贴操作,并使用日期类进行运行时间记录,比较几种方法的效率. public class copy ...

  7. java byte char io流_吃透Java IO:字节流、字符流、缓冲流

    前言有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身, ...

  8. java字符流字节流场景_【120期】Java IO:字节流、字符流、缓冲流

    IO流是Java中的一个重要构成部分,也是我们经常打交道的.这篇关于Java IO的博文干货满满,堪称全网前三(请轻喷!) 下面几个问题(问题还会继续补充),如果你能对答如流,那么恭喜你,IO知识掌握 ...

  9. fileoutputstream 字节乱码_吃透Java IO:字节流、字符流、缓冲流

    前言 有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身 ...

最新文章

  1. 论文翻译 | LS-Net:单目双目视觉的非线性最小二乘学习算法
  2. 两篇大而全的SLAM综述
  3. SCOM警报通知新特性:即时消息通知
  4. Mysql 基本框架 select的全过程
  5. IT经理世界:专注莫如史玉柱
  6. 20165230 2017-2018-2 《Java程序设计》第9周学习总结
  7. python里的shell是什么_python中的shell操作
  8. 如何查看QQ和微信查看授权过那些应用?
  9. storm中worker、executor、task之间的关系
  10. 36 岁程序员应聘被公司领导直接拒绝;B 站面试官回应北邮校招中的不当言论
  11. 到底学机械好还是学计算机好,大学同学一个选择学机械,另一个学计算机,对比5年后收入蒙了...
  12. 甲醛测量仪 DART WZ-S + stm32f103c + stmDuino IDE + I2C OLED
  13. 转载:中国经济酷似日泡沫时代:股市上涨和楼价疯涨
  14. centos修改键盘布局
  15. h5py基本使用教程
  16. linux添加开机启动项
  17. 大数据存储技术方案介绍
  18. 疫情对广州房价的影响
  19. Mathtype部分数学符号只能显示方框时的解决办法
  20. 05 - Protege OWL API 的使用 - 本科毕设整理

热门文章

  1. 关于视频播放前几秒卡顿的问题(视频存放在阿里云oss)
  2. 腾讯手游助手诛仙手游服务器对不上手机,诛仙手游和电脑互通吗
  3. iPhone6,好吗?
  4. Excel如何批量制作产品编号条形码
  5. 开源软件原来都这样命名的!Python最独特,Debian最浪漫,PHP简单粗暴......
  6. 基于 SpringBoot2 + Redis + Vue 商城管理系统,拼团、砍价、秒杀等都有,支持二次开发!...
  7. 关于SMO算法的一点点认识
  8. 向HBase中导入数据3:使用MapReduce从HDFS或本地文件中读取数据并写入HBase(增加使用Reduce批量插入)
  9. 如何通过图片识别植物?识别植物软件有哪些?
  10. app间相互调用及数据互传