import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
// 文件夹的复制(假设文件夹里面都是字符型文件)
public class CopyFile {
public static void main(String[] args) throws IOException {
System.out.println("请输入要进行复制的文件夹(要求里面都是字节型文件):");//F:\\hello
//Scanner sc =new Scanner(System.in);
//String s1=sc.nextLine();
String s1="F:\\新建文件夹";
System.out.println("请输入要进行复制的文件存放的目标文件夹");//F:\\新建文件夹
//String s2=sc.nextLine();
String s2="F:\\yanzheng";
//新建一个对象指向 目标路径
File file2=new File(s2);
//新建一个对象指向 复制文件夹
File file1=new File(s1);
file2=new File(file2,file1.getName());
file2.mkdir();
// 在file2下建一个以file1为名字的文件,不行 我要建一个文件夹 而不是文件
copy(file1,file2);
}
private static void copy(File file1, File file2) throws IOException {
File [] fileArray= file1.listFiles();
if(fileArray.length!=0){
for (File fi : fileArray) {
if(fi.isDirectory())// 是文件夹
{
File fil1=new File(file2.getAbsolutePath(),fi.getName());
fil1.mkdir();
System.out.println(fil1.getAbsolutePath());
File fil=new File(fi.getAbsolutePath());
copy(fil,fil1);
}
else// 是文件
{
File mu=new File(file2,fi.getName());
mu.createNewFile();
System.out.println(mu.getAbsolutePath());
FileReader fr = new FileReader(fi.getAbsolutePath());
char [] chs=new char[100];
FileWriter fw = new FileWriter(mu,true);
int num=-1;
while((num=fr.read(chs))!=-1){
fw.write(chs,0,num);
fw.flush();
}
fr.close();
fw.close();
}
}
}}
} |
|