代码示例:
package cn.zxj.com;
import java.io.*;
class Test {
public static void main(String[] args)
{
File fileCatalogueSrc = new File(".\Desktop\src");
File fileCatalogueGoal = new File(".\Desktop\go");
if(!fileCatalogueSrc.exists()){
System.out.print("源目录不存在");
return;
}
if(!fileCatalogueGoal.exists()){
fileCatalogueGoal.mkdirs();
}
copyCatalogue(fileCatalogueSrc,fileCatalogueGoal);
System.out.println("copy 完成");
}
private static void copyCatalogue(File fileCatalogueSrc, File fileCatalogueGoal) {
FileReader fileReader = null;
FileWriter fileWriter = null;
try{
File[] files = fileCatalogueSrc.listFiles();
for(File f:files){
if(f.isDirectory()){
File src = new File(fileCatalogueSrc, f.getName());
File go = new File(fileCatalogueGoal, f.getName());
if(!go.exists()){
go.mkdirs();
}
copyCatalogue(src,go);
}else {
File f1 = new File(fileCatalogueSrc, f.getName());
File f2 = new File(fileCatalogueGoal, f.getName());
fileReader = new FileReader(f1);
fileWriter = new FileWriter(f2);
char[] chars = new char[1024];
int len;
while((len=(fileReader.read(chars)))!=-1){
fileWriter.write(chars,0,len);
fileWriter.flush();
}
}
}
}catch (Exception e){
e.printStackTrace();
throw new RuntimeException(e.toString());
}finally {
try{
fileWriter.close();
fileReader.close();
}catch (Exception e){
throw new RuntimeException(e.toString());
}
}
}
}



