本文实例为大家分享了java使用缓冲流复制文件的具体代码,供大家参考,具体内容如下

[1] 程序设计

/*-------------------------------

1.缓冲流是一种处理流,用来加快节点流对文件操作的速度

2.BufferedInputStream:输入缓冲流

3.BufferedOutputStream:输出缓冲流

4.在正常的Java开发中都使用缓冲流来处理文件,因为这样可以提高文件处理的效率

5.这里设计程序:使用缓冲流复制一个较大的视频文件

--------------------------------*/

package pack04;

import java.io.*;

public class CopyFile {

public static void main(String[] args) {

String src = "d:/TEST/加勒比海盗-黑珍珠号的诅咒.rmvb"; //源文件路径,该文件大小为3.01GB

String dst = "d:/TEST/加勒比海盗-黑珍珠号的诅咒-Java复制.rmvb"; //目标文件路径

long startTime = System.currentTimeMillis(); //获取复制前的系统时间

copy(src, dst);

long endTime = System.currentTimeMillis(); //获取复制后的系统时间

System.out.println("spend time: " + (endTime-startTime) ); //输出复制需要的时间,毫秒计

}

//定义一个用于复制文件的静态方法,参数src代表源文件路径,参数dst代表目标文件路径

public static void copy(String src, String dst) {

//提供需要读入和写入的文件

File fileIN = new File(src);

File fileOUT = new File(dst);

BufferedInputStream bis = null;

BufferedOutputStream bos = null;

try {

//创建相应的节点流,将文件对象作为形参传递给节点流的构造器

FileInputStream fis = new FileInputStream(fileIN);

FileOutputStream fos = new FileOutputStream(fileOUT);

//创建相应的缓冲流,将节点流对象作为形参传递给缓冲流的构造器

bis = new BufferedInputStream(fis);

bos = new BufferedOutputStream(fos);

//具体的文件复制操作

byte[] b = new byte[65536]; //把从输入文件读取到的数据存入该数组

int len; //记录每次读取数据并存入数组中后的返回值,代表读取到的字节数,最大值为b.length;当输入文件被读取完后返回-1

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

bos.write(b, 0, len);

bos.flush();

}

} catch(IOException e) {

e.printStackTrace();

} finally {

//关闭流,遵循先开后关原则(这里只需要关闭缓冲流即可)

try {

bos.close();

} catch (IOException e) {

e.printStackTrace();

}

try {

bis.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

[2] 测试结果

测试结果显示,复制3.01GB大小的文件所用的时间约为1min。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

java缓冲流 复制文件_java使用缓冲流复制文件的方法相关推荐

  1. java 删除指定文件夹和下面所有文件_java——File IO流

    1.File(掌握) (1)IO流操作中大部分都是对文件的操作,所以Java就提供了File类供我们来操作文件 (2)构造方法 A:File file = new File("e:demoa ...

  2. java i/o 流详解_java I/O流详解

    概况 I/O流主要分为二大类别:字符流和字节流. 字节流(基本流) 1.字节输入流    类名:FileInputStream    特点:读(对文件进行读取操作)    父类:InputStream ...

  3. java中写入文件_java中创建、写入文件的5种方式

    在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. Files.newBufferedWriter(Java 8) Files. ...

  4. java在linux创建文件_Java中创建并写文件的5种方式

    导读 在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下面笔者就帮大家总结一下java中创建文件的五种方法. 在java中有很多的方法可以创建文件写文件,你是否真的认真的总结过?下 ...

  5. java追加txt文件_java怎么追加写入txt文件

    java中,对文件进行追加内容操作的三种方法! import java.io.BufferedWriter;import java.io.FileOutputStream;import java.io ...

  6. java 导入导出txt文件_Java读取和写入txt文件

    1 问题描述 对于java的读取和写入txt一直心存疑惑,随着知识的积累,又重新进行学习,对java的文件读写理解更加深刻,在这里将自己的小小经验总结分享给大家.下面是大家了解java流的一个基本框架 ...

  7. java 读取1m文件_java的FileInputStream类读取文件

    package net.csdn.InputStream; import java.io.File; import java.io.FileInputStream; import java.io.Fi ...

  8. java流的写法_java IO-过滤流类的写法

    package test2; import java.io.FilterOutputStream; import java.io.IOException; import java.io.OutputS ...

  9. java swing 打开文件_java swing实现打开Excel文件并进行处理

    这里选择Excel文件是业务需要,话不多说 1.引入对Excel处理的相关依赖 org.apache.poi poi 3.16 org.apache.poi poi-ooxml 3.16 2.进行sw ...

最新文章

  1. 用动态实现扩展TVM
  2. Angular set函数和Component属性的命名冲突问题
  3. 全志JAVA_android 全志a10(2.3.4)开发1(编译环境搭建)
  4. Python2 和 pip2 存在, Python3 也存在,但是 pip3 不存在的解决办法
  5. python 删除大表数据
  6. 基于单片机的人体心率脉搏检测系统
  7. Xshell5 注册码 ,Xftp5 注册码,Xmanager5注册码
  8. JavaScript文档对象
  9. 照片太大怎么压缩200k?图片怎么缩小到200k以下?
  10. ChatGPT 如何获取API Key
  11. 第六章 样本与抽样分布
  12. es根据字段长度过滤_es根据字段长度过滤_如何进行elasticsearch查询以过滤字段的最大值?...
  13. VS2017中英文切换设置
  14. Unity3D网络游戏0.3
  15. .Net 官方学习文档
  16. 轻松筹 html模板,轻松筹怎么写最感人标题?有没有模板?劝你千万别生搬硬套...
  17. 常戴助听器有什么危害副作用
  18. IBM HACMP 系列 -- 安装和配置一
  19. Electron-builder Windows平台打包安装后执行指定的bat脚本(exe)
  20. 机器人焊钳选型_车身焊装线机器人焊钳的选型设计

热门文章

  1. R语言使用fmsb包、gradar包可视化雷达图(radar chart、蜘蛛图spider plot)、ggpubr包可视化点图、GGally包可视化多变量的平行坐标轴图
  2. R语言head函数和tail函数获取dataframe、列表list、向量vector的头部和尾部数据:tail提取数据对象的尾部数据、head提取数据对象的头部数据、默认6条数据、自定义设置返回条数
  3. R语言apriori算法进行关联规则挖掘(限制规则的左侧或者右侧的内容进行具体规则挖掘)、使用subset函数进一步筛选生成的规则去除左侧规则中的冗余信息、获取更独特的有新意的关联规则
  4. 百度PaddleOCR及云平台OCR API详解及示例
  5. 关联规则概念、啤酒加尿布引出购物篮分析、频繁项集、支持度+置信度+提升度
  6. 测序数据的处理方法及装置制造方法及图纸
  7. python可以做测试软件吗_Python如何给你的程序做性能测试
  8. python 字符串按指定分隔符分割
  9. 在Markdown中用mermaid画流程图和ER图
  10. 【入门篇】如何正确使用机器学习中的训练集、验证集和测试集?