[Java] 纯文本查看 复制代码
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
//创建一个文件夹aa 复制 源文件aaa文件夹下的所有内容 到aa下
public class CopyDir {
public static void main(String[] args) throws IOException {
//源文件夹
File aaa=new File("aaa");
//要复制到的文件夹
File aa=new File("aa");
//创建要复制到的文件夹
aa.mkdir();
//复制源文件夹里边的所有内容
copyFile(aaa,aa);
System.out.println("复制完成");
}
public static void copyFile(File aaa, File aa) throws IOException {
//获取源文件夹的文件列表File数组lfs
File[] lfs = aaa.listFiles();
//遍历数组lfs
for (File file : lfs) {
//判断是否是文件夹
if(file.isDirectory()){
//如果file是文件夹,在目的aa文件夹下创建与此file文件夹名字相同的文件夹f
File f=new File(aa,file.getName());
f.mkdir();
//递归继续复制file到f
copyFile(file, f);
}else{
////如果file是文件,在目的aa文件夹下创建与此file文件名字相同的文件f作为写入对象
File f=new File(aa,file.getName());
//创建输入流,读取源文件file
FileReader fr=new FileReader(file);
//创建输出流,写入到f文件
FileWriter fw=new FileWriter(f);
//按着2M大小复制
char[] ch=new char[1024];
int len=-1;
while((len=fr.read(ch))!=-1){
fw.write(ch,0,len);
}
fw.close();
fr.close();
}
}
}
}