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 }