package iostream.homework;
import java.io.*;
/**
* 拷贝目录
*/
public class CopyAll {
public static void main(String[] args) {
//拷贝源
File srcFile = new File("/Users/yuuki/Downloads/src");
//拷贝目标
File destFile = new File("/Users/yuuki/Downloads/dest");
copyDir(srcFile, destFile);
}
/**
* 拷贝目录用的
* @param srcFile 拷贝源
* @param destFile 拷贝目标
*/
private static void copyDir(File srcFile, File destFile) {
if (srcFile.isFile()) {
FileInputStream fileInputStream = null;
FileOutputStream fileOutputStream = null;
try {
fileInputStream = new FileInputStream(srcFile);
fileOutputStream = new FileOutputStream(destFile.getAbsolutePath() + srcFile.getAbsolutePath().substring(26));
byte[] bytes = new byte[1024 * 1024];
int readCount = 0;
while ((readCount = fileInputStream.read(bytes)) != -1) {
fileOutputStream.write(bytes,0,readCount);
}
fileOutputStream.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fileInputStream != null) {
try {
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fileOutputStream != null) {
try {
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return;
}
//拿到目录下所有文件
File[] files = srcFile.listFiles();
for (File file : files) {
if (file.isDirectory()) {
String src = file.getAbsolutePath();
String dest = destFile.getAbsolutePath() + src.substring(26);
File f = new File(dest);
if (!f.exists()) {
f.mkdirs();
}
}
copyDir(file, destFile);
}
}
}
java目录的复制拷贝,整个目录包括下属文件的复制拷贝
最新推荐文章于 2022-09-21 19:20:16 发布