利用递归实现文件目录的拷贝
作者:互联网
package com.company;//敏感肌不能用
import java.io.*;
public class Main {
public static void main(String[] args) {
File srcFile=new File("C:\\Users\\Administrator\\Desktop\\链表");
File destFile=new File("E:\\目标文件夹");
copyDir(srcFile,destFile);
}
private static void copyDir(File srcFile, File destFile) {
if(srcFile.isFile()){
FileInputStream in=null;
FileOutputStream out=null;
try {
in=new FileInputStream(srcFile);
String path=destFile.getAbsolutePath().endsWith("\\")?destFile.getAbsolutePath():destFile.getAbsolutePath()+"\\"+srcFile.getAbsolutePath().substring(3);
out=new FileOutputStream(path);
int readcount=0;
byte[] bytes=new byte[1024*1024];
while((readcount=in.read(bytes))!=-1){
out.write(bytes,0,readcount);
}
out.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(in!=null){
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(out!=null){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return;
}
File[] files=srcFile.listFiles();
for(File file:files){
String srcDir=file.getAbsolutePath();
String destDir=destFile.getAbsolutePath().endsWith("\\")?destFile.getAbsolutePath():destFile.getAbsolutePath()+"\\"+srcFile.getAbsolutePath().substring(3);
File newFile=new File(destDir);
if(!newFile.exists()){
newFile.mkdirs();
}
copyDir(file,destFile);
}
}
}
标签:文件目录,递归,srcFile,getAbsolutePath,destFile,File,new,拷贝,out 来源: https://blog.csdn.net/qq3527886185/article/details/122135767