把指定路径中指定后缀名的文件拷贝到另一个路径中

 1 import java.io.File;
 2 import java.io.FileInputStream;
 3 import java.io.FileOutputStream;
 4 import java.io.InputStream;
 5 import java.io.OutputStream;
 6 
 7 public class CopyFile {
 8 
 9     /**
10      * @param args
11      */
12     private static final  String fileType=".avi";//文件后缀名
13     public static void main(String[] args) {
14         
15         String sourePath="F:\\学习文档\\Java\\传智播客\\JDBC\\";//源路径
16         String destPath="F:\\学习文档\\Java\\传智播客\\JDBC\\";//目的地
17         File rootFile=new File(sourePath);
18         showFiles(rootFile,destPath);
19     }
20     /**循环输出文件名
21      * @param file
22      * @param newPath
23      */
24     static  void showFiles(File rootFile,String newPath) {
25         File[] files= rootFile.listFiles();
26         for (File file : files) {
27             
28             if (file.isDirectory()) {
29                 showFiles(file,newPath);
30             }
31             if (file.getName().endsWith(fileType)) {
32                 copyFiles(file.getAbsolutePath(),newPath+file.getName());
33                 //System.out.println(file.getAbsolutePath());
34                 System.out.println(newPath+file.getName());
35             }
36         }
37     }
38     /**文件拷贝
39      * @param oldPath
40      * @param newPath
41      */
42     static void copyFiles(String oldPath,String newPath)
43     {
44         try {
45         int bytesum=0;
46         int byteread=0;
47         File oldFile =new File(oldPath);
48         if (oldFile.exists()) {
49                 InputStream inputStream=new FileInputStream(oldPath);//获取输入流
50                 OutputStream outputStream=new FileOutputStream(newPath);//获取输出流
51                 byte[] buffer=new byte[1444];
52 
53                     while ((byteread=inputStream.read(buffer))!=-1) {
54                         bytesum+=byteread;
55                         outputStream.write(buffer, 0, byteread);
56                     }
57                     outputStream.close();
58                     inputStream.close();
59         
60         }}catch (Exception e) {
61             System.out.println("文件出错");
62             e.printStackTrace();
63         }
64         
65     }
66 }
View Code

 

posted @ 2013-08-07 20:48  苦逼IT男  阅读(388)  评论(0编辑  收藏  举报