package filedemo;
//复制文件夹
import java.io.*;
public class FileDirCopy {
public static void main(String[] args) {
copyDir(new File("c:\\demo"),new File("d:\\"));
}
private static void copyDir(File source,File target) {
//获取要备份的文件夹名字,创建备份的文件夹。
File targetFile = new File(target,source.getName());
targetFile.mkdir();
//获取文件夹下的文件名,创建备份的文件。
File[] file = source.listFiles();
for(File f : file){
File newFile = new File(targetFile,f.getName());
copyFile(f,newFile);
}
}
//复制具体文件
private static void copyFile(File source, File target) {
FileInputStream fis = null;
FileOutputStream fos = null;
try{
fis = new FileInputStream(source);
fos = new FileOutputStream(target);
int len = 0;
byte [] bytes = new byte[1024];
while((len = fis.read(bytes))!=-1){
fos.write(bytes, 0, len);
}
}
catch(Exception e){
e.printStackTrace();
throw new RuntimeException("复制失败");
}finally{
try{
if(fos!=null)
fos.close();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(fis!=null)
fis.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
} |
|