package midProject;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class FilesCopyTest {
//复制文件夹
public static void main(String[] args) throws Exception {
//源文件夹
File file =new File("e:/Java练习文件夹");
//目标文件夹
String file2="e:/Java练习文件夹2";
//调用方法
FilesCopyTest.copy(file,file2);
}
public static void copy(File file,String file2) throws Exception {
//创建目录
File fi =new File(file2);
if (!(fi.exists())) {
fi.mkdir();
}
//输出流
File[] f=file.listFiles();
//遍历文件
for(File fs:f) {
if (fs.isFile()) {
//输入流
FileInputStream fis=new FileInputStream(fs);
//创建文件
String file3=file2+"/"+fs.getName();
File file4 =new File(file3);
System.out.println(file4.getAbsolutePath());
//检查文件是否存在
if (!(file4.exists())) {
file4.createNewFile();
}
//输出流
FileOutputStream fos=new FileOutputStream(file4);
//创建容器
byte[] by =new byte[(int)(fs.length())];
System.out.println(fs.getName()+":是文件");
//输出文件内容
while (fis.read(by)!=-1) {
fos.write(by);
}
fis.close();
fos.close();
}else {
//文件夹-递归法
System.out.println(fs.getName()+":是文件夹");
file2=file2+"/"+fs.getName();
copy(fs, file2);
}
}
}
}