a- package review;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- public class RecursionCopyFiles {
- /**
- * 递归复制文件 c:\\Java review
- * @throws Exception
- */
- public static void main(String[] args) throws Exception {
- File src = new File("c:\\Java review");
- File des = new File("f:\\递归复制的文件演示");
- des.mkdirs();
- recursionCopyFile(src, des);
- System.out.println("done");
- }
- private static void recursionCopyFile(File src, File des) throws Exception {
- File[] srcFiles = src.listFiles();
- BufferedReader br = null;
- BufferedWriter bw = null;
- for (File f : srcFiles) {
- if (f.isDirectory()) {
- File subDirectory = new File(des,f.getName());
- // System.out.println(f.getName());
- System.out.println(subDirectory);
- subDirectory.mkdirs();//建立子目录
- recursionCopyFile(f, subDirectory);
- } else {
- br = new BufferedReader(new FileReader(f));
- File desName = new File(des, f.getName());
- bw = new BufferedWriter(new FileWriter(desName));
- cpoyFile(br, bw);
- }
- }
- if (null != br)
- br.close();
- if (null != bw)
- bw.close();
- }
- private static void cpoyFile(BufferedReader br, BufferedWriter bw)
- throws IOException {
- String line = null;
- while ((line = br.readLine()) != null) {
- bw.write(line);
- bw.newLine();
- bw.flush();
- }
- }
- }
复制代码
|
|