package test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class FileCopyUtil {
public static void main(String[] args) {
copyDir("D:/img","C:/Users/Administrator/Desktop");
}
/**
* 复制文件夹
* @param string
* @param string2
*/
private static void copyDir(String src, String dest) {
copyDir(new File(src), dest);
}
private static void copyDir(File src, String dest) {
// 判断是否是文件夹
if(src.isDirectory()){
String pathName = src.getName();
String dPath = dest + File.separator + pathName;
// 创建路径
File dFile = new File(dPath);
if(!dFile.getParentFile().exists()){
dFile.getParentFile().mkdirs();
}
// 得到文件夹下所有的文件
File[] files = src.listFiles();
for (File file : files) {
copyDir(file, dPath);
}
}else{
// 直接复制文件
copyFile(src,dest);
}
}
private static void copyFile(File src, String dest) {
BufferedWriter writer = null;
BufferedReader reader = null;
String file = dest + File.separator + src.getName();
File dFile = new File(file);
if(!dFile.getParentFile().exists()){
dFile.getParentFile().mkdirs();
}
try {
writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
reader = new BufferedReader(new InputStreamReader(new FileInputStream(src)));
String s = null;
while(( s = reader.readLine()) != null){
writer.write(s);
writer.write("\n");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
递归复制文件夹
最新推荐文章于 2022-03-18 19:03:49 发布