复制目录
public class FileCopy02 {
public static void main(String[] args) {
File srcFile = new File("E:\\学习");
File destFile = new File("D:\\delete");
CopyAll(srcFile, destFile);
}
private static void CopyAll(File srcFile, File destFile) {
String path02 = destFile.getAbsolutePath();
File[] files = srcFile.listFiles();
for (int i = 0; i < files.length; i++) {
srcFile = files[i];
String path01 = srcFile.getAbsolutePath().replaceFirst("E:", path02);
File file = new File(path01);
if (srcFile.isFile()) {
File parentFile = new File(file.getParent());
if (!parentFile.exists()){
parentFile.mkdirs();
System.out.println("创建文件夹:" + file);
}
FilesCopy(srcFile, file);
} else {
CopyAll(srcFile, destFile);
}
}
}
private static void FilesCopy(File srcFile, File destFile) {
System.out.println(srcFile + "--->" + destFile);
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream(srcFile.getAbsolutePath());
fos = new FileOutputStream(destFile.getAbsolutePath());
byte[] bytes = new byte[1024 * 1024];
int readCount = 0;
while ((readCount = fis.read(bytes)) != -1) {
fos.write(bytes, 0, readCount);
}
fos.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fos == null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}