public class Homework01 {
public static void main(String[] args) throws IOException {
copyDir(new File("d:/io"), new File("c:/def"));
}
public static void copyDir(File src, File dest) throws IOException {
String srcDirName = src.getName(); // 得到 io
// 创建File类型的对象:两个参数File parent String child
File destDirName = new File(dest, srcDirName);
// 在硬盘具体路径下创建目的文件夹
destDirName.mkdirs();
// 遍历源数据文件夹得到每一个File对象
File[] srcFileNames = src.listFiles();
for (File srcFileName : srcFileNames) {
if(srcFileName.isDirectory()){
System.out.println(srcFileName);
File destFile = new File(destDirName,srcFileName.getName());
System.out.println(destFile);
copyDir(srcFileName,destFile.getParentFile());
}
if(srcFileName.isFile()){
// System.out.println(srcFileName);
String srcName = srcFileName.getName();
// 创建目的文件夹中每个文件的FIle对象
File destFileName = new File(destDirName, srcName);
// 创建输入流对象,关联源文件
FileInputStream fis = new FileInputStream(srcFileName);
//创建输出流对象,关联目标文件
FileOutputStream fos = new FileOutputStream(destFileName);
byte[] b=new byte[1024];
int len=0;
while((len=fis.read(b))!=-1)
{
//写数据
fos.write(b, 0, len);
}
//关闭资源
fis.close();
fos.close();
}
}
}
}
利用递归和IO实现复制文件夹下所有文件和文件夹至目标文件夹
最新推荐文章于 2019-03-04 09:15:46 发布