public class CopyMp4Demo {
public static void main(String[] args) throws IOException {
long start = System.currentTimeMillis();
// method1("e:\\test.mp4", "copy4.mp4");
// method2("e:\\test.mp4", "copy4.mp4");
// method3("e:\\test.mp4", "copy4.mp4");
method4("e:\\test.mp4", "copy4.mp4");
long end = System.currentTimeMillis();
System.out.println("共耗时:" + (end - start) + "毫秒");
} // 高效字节流一次读写一个字节数组:
public static void method4(String srcString, String destString)
throws IOException {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
srcString));
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(destString)); byte[] bys = new byte[1024];
int len = 0;
while ((len = bis.read(bys)) != -1) {
bos.write(bys, 0, len);
} bos.close();
bis.close();
} // 高效字节流一次读写一个字节:
public static void method3(String srcString, String destString)
throws IOException {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
srcString));
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(destString)); int by = 0;
while ((by = bis.read()) != -1) {
bos.write(by); } bos.close();
bis.close();
} // 基本字节流一次读写一个字节数组
public static void method2(String srcString, String destString)
throws IOException {
FileInputStream fis = new FileInputStream(srcString);
FileOutputStream fos = new FileOutputStream(destString); byte[] bys = new byte[1024];
int len = 0;
while ((len = fis.read(bys)) != -1) {
fos.write(bys, 0, len);
} fos.close();
fis.close();
} // 基本字节流一次读写一个字节
public static void method1(String srcString, String destString)
throws IOException {
FileInputStream fis = new FileInputStream(srcString);
FileOutputStream fos = new FileOutputStream(destString); int by = 0;
while ((by = fis.read()) != -1) {
fos.write(by);
} fos.close();
fis.close();
}
}

字节流四种方式复制文件:
基本字节流一次读写一个字节: 共耗时:117235毫秒
 基本字节流一次读写一个字节数组: 共耗时:156毫秒
 高效字节流一次读写一个字节: 共耗时:1141毫秒
 高效字节流一次读写一个字节数组: 共耗时:47毫秒

推荐使用第四种,即 高效字节流一次读写一个字节数组 方式读取文件。

最新文章

  1. Android自定义控件5--轮播图广告ViewPager基本实现
  2. java jdb命令详解
  3. JS中数组Array的用法示例介绍 (转)
  4. eclipse新建项目,报错“Error: workspace\appcompat_v7\res\values-v21\styles_base.xml No resource found that matches the given name”
  5. [开发笔记]-MarkDown语法
  6. Vertica 项目常用代码
  7. 将 node.js 的数据保存到 mongo 数据库中
  8. 转】Mahout分步式程序开发 聚类Kmeans
  9. linux常用命令详解
  10. Earth to developers: Grow up!
  11. hdu1263 水果(结构体排序)
  12. PDO(数据访问抽象层)、pdo事务功能和预处理功能---2017-05-05
  13. 如何统计iOS产品不同渠道的下载量?
  14. DataURL与File,Blob,canvas对象之间的互相转换的Javascript
  15. 微信公众号报错 config:invalid signature
  16. cmd连接Oracle数据库成功后输入sql语句返回 2
  17. python并发编程基础之守护进程、队列、锁
  18. Spark RDD转换为DataFrame
  19. Makefile 隐含规则,模式规则,常见变量
  20. Linux 添加网卡

热门文章

  1. The number of method references in a .dex file cannot exceed 64K.(转)
  2. IDEA错误:Cannot start compilation: the output path is not specified for module "Test". Specify the out
  3. 第十章 优先级队列 (a1)需求与动机
  4. CentOS 下搭建Jenkins
  5. 高德地图开发者平台获取sHA1值
  6. CSS3实现10种Loading效果(转)
  7. js replaceAll全部替换
  8. echarts横向柱状图如果想打开网址
  9. php的ob缓存详解
  10. IE6、7下overflow:hidden失效的问题