import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
/**
* 利用递归实现将某个目录下所有内容copy到另一个目录中。
*/
public class Demo2 {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要复制的文件夹:");
File source = new File(sc.next());
System.out.println("请输入要复制到的目标文件夹");
File dest = new File(sc.next());
Demo2.digui(source, dest);
}
/**
*
* @param source 要复制的文件
* @param dest 要复制到的目标文件夹
* @throws IOException
*/
public static void digui(File source,File dest) throws IOException {
//如果要复制的文件存在
if(source.exists()) {
//如果复制的文件是文件夹
if(source.isDirectory()) {
//在目标文件夹创建这个文件夹
File file = new File(dest+"/"+source.getName());
file.mkdirs();
File[] lf = source.listFiles();
if(lf!=null&&lf.length>0) {
for(File ff:lf) {
digui(ff,file);
}
}
}else {//如果复制的文件是文件,则进行文件的复制
BufferedReader br = new BufferedReader(new FileReader(source));
BufferedWriter bw = new BufferedWriter(new FileWriter(dest+"/"+source.getName()));
String s = "";
while((s=br.readLine())!=null) {
bw.write(s);
}
bw.close();
br.close();
}
}
}
}
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
/**
* 利用递归实现将某个目录下所有内容copy到另一个目录中。
*/
public class Demo2 {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要复制的文件夹:");
File source = new File(sc.next());
System.out.println("请输入要复制到的目标文件夹");
File dest = new File(sc.next());
Demo2.digui(source, dest);
}
/**
*
* @param source 要复制的文件
* @param dest 要复制到的目标文件夹
* @throws IOException
*/
public static void digui(File source,File dest) throws IOException {
//如果要复制的文件存在
if(source.exists()) {
//如果复制的文件是文件夹
if(source.isDirectory()) {
//在目标文件夹创建这个文件夹
File file = new File(dest+"/"+source.getName());
file.mkdirs();
File[] lf = source.listFiles();
if(lf!=null&&lf.length>0) {
for(File ff:lf) {
digui(ff,file);
}
}
}else {//如果复制的文件是文件,则进行文件的复制
BufferedReader br = new BufferedReader(new FileReader(source));
BufferedWriter bw = new BufferedWriter(new FileWriter(dest+"/"+source.getName()));
String s = "";
while((s=br.readLine())!=null) {
bw.write(s);
}
bw.close();
br.close();
}
}
}
}