此次案例将以复制文件的形式来演示IO字节流的基本操作,复制一个mp3文件,文件信息如下图:

main方法测试

public static void main(String[] args) throws Exception {

//源文件

String srcFile = "src/a.mp3";

//目的文件

String destFile = "src/b.mp3";

long start = System.currentTimeMillis();

...

复制文件方法

...

long end = System.currentTimeMillis();

System.out.println("共耗时"+(end-start)+"毫秒");

}

一、一次读取一个字节

//一次读取一个字节

public static void copy1(String srcFile,String destFile) throws Exception {

//封装文件

InputStream in = new FileInputStream(srcFile);

OutputStream out = new FileOutputStream(destFile);

//复制文件

int b = 0;

while ((b = in.read()) != -1) {

out.write(b);

}

//释放资源

in.close();

out.close();

}

运行截图:

二、一次读取一个字节数组

// 一次读取一个字节数组

public static void copy2(String srcFile, String destFile) throws Exception {

// 封装文件

InputStream in = new FileInputStream(srcFile);

OutputStream out = new FileOutputStream(destFile);

// 复制文件

byte[] buff = new byte[1024];

int len = 0;

while ((len = in.read(buff)) != -1) {

out.write(buff, 0, len);

}

// 释放资源

in.close();

out.close();

}

运行截图:

三、使用高效缓冲区一次读取一个字节

// 使用高效缓冲区一次读取一个字节

public static void copy3(String srcFile, String destFile) throws Exception {

// 封装文件

BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));

BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));

// 复制文件

int b = 0;

while ((b = bis.read()) != -1) {

bos.write(b);

}

// 释放资源

bis.close();

bos.close();

}

运行截图:

四、使用高效缓冲区一次读取一个字节数组

// 使用高效缓冲区一次读取一个字节数组

public static void copy4(String srcFile, String destFile) throws Exception {

// 封装文件

BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));

BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile));

// 复制文件

byte[] buf = new byte[1024];

int len = 0;

while ((len = bis.read(buf)) != -1) {

bos.write(buf, 0, len);

}

// 释放资源

bis.close();

bos.close();

}

运行截图:

注:每台测试的速度结果不一样

java 性能测试文档模板_Java中IO字节流基本操作(复制文件)并测试性能相关推荐

  1. java实现保存合同模板_Java中常用到的文件操作那些事(一)——替换doc文档模板,生成真实合同案例...

    工作中,我们时常会遇到一些操作文件的操作,比如在线生成合同模板,上传/下载/解析Excel,doc文档转为pdf等操作.本文就已工作中遇到的在线生成合同为例,简要地介绍一种文档替换写法. 本文目的:给 ...

  2. java word文档生成_java生成word文档

    java生成word文档有多种方式: 1:Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.使用Jacob自带的DLL动态链接库,并通过JNI的方式实现 ...

  3. java word 文档合并_Java 合并Word文档

    概述 合并文档可以是将两个包含一定逻辑关系的文档合并成一个完整的文档,也可以是出于方便文档存储.管理的目的合并多个文档为一个文档.下面,就将以上文档操作需求,通过Java程序来实现Word文档合并.合 ...

  4. java 输入流可以合并吗_Java 使用IO流实现大文件的分割与合并实例详解

    java 使用IO流实现大文件的分割与合并 文件分割应该算一个比较实用的功能,举例子说明吧比如说:你有一个3G的文件要从一台电脑Copy到另一台电脑, 但是你的存储设备(比如SD卡)只有1G ,这个时 ...

  5. java文档表白_java基础io流——File的告白(重温经典)

    File类概述和构造方法 File类的概述 文件和目录路径名的抽象表示形式 构造方法 public File(String pathname) public File(String parent,St ...

  6. java中io与nio复制文件性能对比

    2019独角兽企业重金招聘Python工程师标准>>> 1.  在JAVA传统的IO系统中,读取磁盘文件数据的过程如下: 以FileInputStream类为例,该类有一个read( ...

  7. 深入浅出MFC文档/视图架构之文档模板

    在"文档/视图"架构的MFC程序中,提供了文档模板管理者类CDocManager,由它管理应用程序所包含的文档模板.我们先看看这个类的声明: / // CDocTemplate m ...

  8. Apikit 自学日记:API 文档模板

    我们可以通过创建API文档模板,并使用API文档模板来添加API文档,用于实现提高API文档创建效率,规范API文档格式的目的. 该功能是付费版本功能,需要升级为企业版方可使用. 创建API文档模板 ...

  9. JAVA帮助文档全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版下载

    JAVA帮助文档全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版下载 JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet ...

最新文章

  1. ssl证书是由什么组成?ssl证书是什么?
  2. 知识图谱与深度学习(新时代·技术新未来)
  3. JavaScript使用ACTIVEX控件引起崩溃问题的解决
  4. 在虚拟机中安装gentoo简化步骤(基于官方手册)
  5. python对csv文件中的数据进行分类_使用Python读取csv文件并进行分类存储
  6. VS2010工程转VS2005工程的方法
  7. 5. Zend_Log
  8. windows下使用linux terminal
  9. 电脑使用速度变慢的七大常见原因
  10. android_基础_修改系统背景(状态栏颜色、导航栏颜色、标题栏颜色等等)
  11. 加州房价预测项目详细笔记(Regression)——(1)研究数据获得灵感
  12. 数据分析模型 第十一章
  13. oracle drop tablespace 恢复杀手锏
  14. 派克比例方向控制阀放大器
  15. 彩虹岛横版 利用找人物定位判断怪物在左在右
  16. 教你如何使用P2PS进行点播网站开发
  17. cpc卡内计费信息异常包括_CPC卡精确计费方案
  18. 广州大学计算机网络实验五,计算机网络实验五.doc
  19. 颜色十六进制代码表 | HTML Color Codes Table
  20. IOS 设备备份文件详解 (一)

热门文章

  1. 实战:基于自定义注解实现自定义框架Spring
  2. 关于docker的几个问题
  3. 利用hutool工具类导出Excel
  4. python常用模块-time和datatime
  5. 《成为顶级JAVA架构师的必备书籍》
  6. PHP读取超大的excel文件数据的方案
  7. Pycharm在Ubuntu14.04中的基本使用指南
  8. 【Keras】从两个实际任务掌握图像分类
  9. 强强合体:Docker版Kali Linux发布
  10. Spark学习之路---Spark核心概念