public class CopyDir {
//文件夹的遍历和递归
public void showDir(File file){
String filePath=file.getAbsolutePath();
System.out.println(filePath);
File[] files=file.listFiles();
if(files!=null && files.length!=0){
for(File f:files){
showDir(f);
}
}
}
//文件夹的复制
public void CopyDir(File file){
String filePath=file.getAbsolutePath();
String newFilePath=filePath.replace(“F:”,“E:\ABC”);
File newFile=new File(newFilePath);
File[] files=file.listFiles();
if(files!=null){
newFile.mkdir();
if(files.length!=0){
for(File f:files){
this.CopyDir(f);
}
}
}else{
FileInputStream fis=null;
FileOutputStream fou=null;
try {
fis=new FileInputStream(file);
fou=new FileOutputStream(newFile);
byte[] b=new byte[1024];
int count=fis.read(b);
while (count!=-1){
fou.write(b,0,count);
fou.flush();
count=fis.read(b);
}
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
fis.close();
fou.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}