JAVA通过I/O流复制文件

JAVA通过I/O流复制文件

本文是对字节流操作,可以多音频视频文件进行操作,亲测有效。

个人感觉这个东西就是靠记的, 没什么好解释的,,,,

  

 1 import java.io.File;
 2 import java.io.FileInputStream;
 3 import java.io.FileNotFoundException;
 4 import java.io.FileOutputStream;
 5 import java.io.IOException;
 6 
 7 
 8 public class CopyMove {
 9 
10     public static void main(String[] args){
11         
12         //时间
13         long starttime = 0;
14         long finishtime = 0;
15         Calendar calendar = null;
16      
17     /*    String oldPath = "D:/test/gktgd.mp4";
18         String newPath = "D:/test/new4.mp4";*/
19         String oldPath = "D:/test/fff.flv";
20         String newPath = "D:/test/ff.flv";
21         
22         File oldFile = new File(oldPath);
23         File newFile = new File(newPath);
24       
25         //若文件不存在则创建
26      if(!newFile.exists()){
27             try {
28                 newFile.createNewFile();
29             } catch (IOException e) {
30                 // TODO Auto-generated catch block
31                 e.printStackTrace();
32             }
33         } 
34         
35         FileInputStream fIS = null;
36         FileOutputStream fOS = null;
37        
38      //声明用于传递字节的byte 数组大小要是2的整数倍
39         byte[] ttStream = new byte[4096];
40         
41         int len = 0;
42         
43         try {
44             fIS = new FileInputStream(oldFile);
45             fOS = new FileOutputStream(newFile);
46              
47         //获取开始时间       
48             starttime = System.currentTimeMillis();
49             
50             System.out.println(starttime);
51             len = fIS.read(ttStream);
52        //若len为-1 证明读取完,若不为-1 则为读取的字节数 
53             while((len)!=-1){
54           //将读出的字节写入文件中
55                 fOS.write(ttStream, 0, len);
56            //再次读取 
57                 len=fIS.read(ttStream);
58             }
59        //获得结束时间 
60             finishtime = System.currentTimeMillis();
61             System.out.println(finishtime);
62             System.out.println("时间间隔为:" +(finishtime-starttime));
63         } catch (FileNotFoundException e) {
64             // TODO Auto-generated catch block
65             e.printStackTrace();
66         } catch (IOException e) {
67             // TODO Auto-generated catch block
68             e.printStackTrace();
69         } finally {
70             try {
71          //按照先使用后关闭的原则关闭 
72                 fOS.close();
73                 fIS.close();
74             } catch (IOException e) {
75                 // TODO Auto-generated catch block
76                 e.printStackTrace();
77             }   
78         }
79      }
80 }
原文地址:https://www.cnblogs.com/Mr-Dawei/p/7375778.html