package com.hwua.IOTest;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/*
* 需求:复制多级文件夹
* */
public class CopyFloderDemo2 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
File srcFile = new File("E:\\javaTest");
File destFile = new File("D:\\");
copyFolder(srcFile, destFile);
}
//复制文件夹(创建目录)
private static void copyFolder(File srcFile,File destFile ) throws IOException{
if(srcFile.isDirectory()){
//创建该目录
File newFolder = new File(destFile, srcFile.getName());//目标文件 D:/javaTest a
newFolder.mkdirs();//D:/javaTest D:/javaTest/a
File[] listFiles = srcFile.listFiles();//得到目标源列表
for (File file : listFiles) {
if(file.isDirectory()){
//递归用法
copyFolder(file, newFolder);//源文件:E:\javaTest\a 目标文件 D:/javaTest
}else{
//创建文件
File newFile = new File(newFolder,file.getName());
//调用复制文件的方法
System.out.println(newFile.toString());
copyFile(file, newFile);
}
}
}else{
copyFile(srcFile, destFile);
}
}
//复制文件(创建文件 写数据)
public static void copyFile(File srcFile,File newFile) throws IOException{
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(newFile));
byte[] bs = new byte[1024];
int len = 0;
while((len=bis.read(bs))!=-1){
bos.write(bs,0,len);
}
bis.close();
bos.close();
}
}
IO流复制文件夹
猜你喜欢
转载自blog.csdn.net/u012968827/article/details/82903879
今日推荐
周排行