public class Demo_DuoJi {
public static void main(String[] args) throws IOException{
//创建数据源对象,路径是H:\\daywork\\itheima
File srcFile=new File("H:\\itheima");
// 创建目的地file对象,路径是H:
File dirFile=new File("D:\\");
//写方法实现文件夹的复制
copyFolder(srcFile,dirFile);
}
private static void copyFolder(File srcFile, File dirFile) throws IOException{
if(srcFile.isDirectory()){
//说明是目录
String srcFileName=srcFile.getName();
File newFolder=new File(dirFile,srcFileName);
if(!newFolder.exists()){
newFolder.mkdir();
}
File[] fileArray=srcFile.listFiles();
for (File file:fileArray){
copyFolder(file,newFolder);
}
}else{
//说明是文件,直接复制,用字节流
File newFile=new File(dirFile,srcFile.getName());
copyFile(srcFile,newFile);
}
}
private static void copyFile(File srcFile, File dirFile) throws IOException {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(dirFile));
byte[] bys=new byte[1024];
int len;
while((len=bis.read(bys))!=-1){
bos.write(bys,0,len);
}
bis.close();
bos.close();
}
}
JavaIO流复制多级文件夹(递归)
最新推荐文章于 2023-03-22 15:59:37 发布