码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础知识强化之IO流笔记30:字节流4种方式复制mp4并测试效率

时间:2015-10-08 20:05:10      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:

1. 需求:把e:\\哥有老婆.mp4 复制到当前项目目录下的copy.mp4中

字节流四种方式复制文件
  • 基本字节流一次读写一个字节
  • 基本字节流一次读写一个字节数组
  • 高效字节流一次读写一个字节
  • 高效字节流一次读写一个字节数组

 

2. 代码示例:

 1 package cn.itcast_06;
 2 
 3 import java.io.BufferedInputStream;
 4 import java.io.BufferedOutputStream;
 5 import java.io.FileInputStream;
 6 import java.io.FileOutputStream;
 7 import java.io.IOException;
 8 
 9 /*
10  * 需求:把e:\\哥有老婆.mp4复制到当前项目目录下的copy.mp4中
11  * 
12  * 字节流四种方式复制文件:
13  * 基本字节流一次读写一个字节:      共耗时:117235 毫秒
14  * 基本字节流一次读写一个字节数组:  共耗时:156 毫秒
15  * 高效字节流一次读写一个字节:      共耗时:1141 毫秒
16  * 高效字节流一次读写一个字节数组:  共耗时:47 毫秒
17  */
18 public class CopyMp4Demo {
19     public static void main(String[] args) throws IOException {
20         long start = System.currentTimeMillis();
21         // method1("e:\\哥有老婆.mp4", "copy1.mp4");
22         // method2("e:\\哥有老婆.mp4", "copy2.mp4");
23         // method3("e:\\哥有老婆.mp4", "copy3.mp4");
24         method4("e:\\哥有老婆.mp4", "copy4.mp4");
25         long end = System.currentTimeMillis();
26         System.out.println("共耗时:" + (end - start) + "毫秒");
27     }
28 
29     // 高效字节流一次读写一个字节数组:
30     public static void method4(String srcString, String destString)
31             throws IOException {
32         BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
33                 srcString));
34         BufferedOutputStream bos = new BufferedOutputStream(
35                 new FileOutputStream(destString));
36 
37         byte[] bys = new byte[1024];
38         int len = 0;
39         while ((len = bis.read(bys)) != -1) {
40             bos.write(bys, 0, len);
41         }
42 
43         bos.close();
44         bis.close();
45     }
46 
47     // 高效字节流一次读写一个字节:
48     public static void method3(String srcString, String destString)
49             throws IOException {
50         BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
51                 srcString));
52         BufferedOutputStream bos = new BufferedOutputStream(
53                 new FileOutputStream(destString));
54 
55         int by = 0;
56         while ((by = bis.read()) != -1) {
57             bos.write(by);
58 
59         }
60 
61         bos.close();
62         bis.close();
63     }
64 
65     // 基本字节流一次读写一个字节数组
66     public static void method2(String srcString, String destString)
67             throws IOException {
68         FileInputStream fis = new FileInputStream(srcString);
69         FileOutputStream fos = new FileOutputStream(destString);
70 
71         byte[] bys = new byte[1024];
72         int len = 0;
73         while ((len = fis.read(bys)) != -1) {
74             fos.write(bys, 0, len);
75         }
76 
77         fos.close();
78         fis.close();
79     }
80 
81     // 基本字节流一次读写一个字节
82     public static void method1(String srcString, String destString)
83             throws IOException {
84         FileInputStream fis = new FileInputStream(srcString);
85         FileOutputStream fos = new FileOutputStream(destString);
86 
87         int by = 0;
88         while ((by = fis.read()) != -1) {
89             fos.write(by);
90         }
91 
92         fos.close();
93         fis.close();
94     }
95 }

 

Java基础知识强化之IO流笔记30:字节流4种方式复制mp4并测试效率

标签:

原文地址:http://www.cnblogs.com/hebao0514/p/4862099.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!