java实现整个文件夹的复制(同一路径下会复制出-副本)

时间:2022-09-14 23:21:32

可以实现对文件夹中所有的内容的复制,如果对单个文件夹复制会产生附件,和电脑上复制文件夹效果一样,支持所有文件(文档、音视频、压缩包......)


import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;


public class CopyAllsDemo {
public static void main(String[] args) {

copy("G:/123","G:/456");

}
public static void copy(String src, String des){
try{
File file1 = new File(src);
File file2 = new File(des);
if(file1.isDirectory()){
file2.mkdirs();
File[] files = file1.listFiles();
for(File file : files){
copy(file.getPath(),des+"\\"+file.getName());
}
return;
}
BufferedInputStream bis = 
new BufferedInputStream(new FileInputStream(file1));
BufferedOutputStream bos = 
new BufferedOutputStream(new FileOutputStream(file2));
int n = 0;
while((n=bis.read())!=-1){
bos.write(n);
}
bis.close();
bos.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void copy(String src){
String des = src + " - 副本";
copy(src,des);
}


}