Bootstrap

【Java】实现文件夹复制

【Java】实现文件夹复制

需求

  1. 实现单级文件夹复制
  2. 实现多级文件夹复制

单级文件夹复制

步骤

  1. 创建源目录对象,获取该目录对象名称
  2. 创建目的目录对象,路径名由指定目的目录路径名+源路径名、
    (如,源目的路径名为c:\java1,指定目的目录路径名为d:\java,则目的目录对象最终路径名为d:\java\java1,即,将j源目录java1复制到指定目录d:\java中去)
  3. 判断目的目录是否存在,不存在就创建
  4. 获取源目录下所有目录文件存入数组
  5. 遍历数组获取每个目录文件对象
  6. 获取文件名,得到最终在目的目录应有的路径名(目的目录路径+文件名)
  7. 复制实现,因不确定每个文件的类型,故建议采用字节流
  8. 关闭流

效果

单级文件夹复制

代码

package com.cxl.demo27_DirectoryCopy;

import java.io.*;

public class Demo27_01_DirectoryCopy {
   
    public static void main(String[] args) throws IOException {
   
        //数据源
        File source = new File("src/java/com/cxl/demo27_DirectoryCopy/sourceDirectory");
        //源路径名
        String sourceName = source.getName();
        //目的
        File aim = new File("src/java/com/cxl/demo27_DirectoryCopy/aimDirectory/",
                sourceName);    //最终路径为parent+sorceName
        //判断目的目录是否创建,不存在则创建
        if (!aim.exists()) {
   
            aim.mkdirs();   //创建多级目录
        
;