首页新闻找找看学习计划

JAVA 递归实现文件的剪切

0
悬赏园豆:30 [已解决问题] 解决于 2017-07-31 19:42

public static void cutFile(File srcDir,File dest) {
    //要求目标源必须存在
    if (!srcDir.exists()) {
        System.out.println("指定源目录不存在");
        return;
    }else {
        //在目录存在的情况下,判断目标目录是否存在
        if (!dest.exists()) {
            dest.mkdirs();
        }
    }
    //得到源目录名
    String srcDirName=srcDir.getName();
    //根据源目录名创建新目录名
    File destDir=new File(dest+srcDirName);
    //创建新目录名
    destDir.mkdirs();
    //遍历源目录
    File[]listFiles=srcDir.listFiles();
    for (File file : listFiles) {
        //两种情况,一种情况是文件,一种情况是文件夹,
        //如果是文件直接移动,如果是文件夹,需要递归
        if (file.isFile()) {
            file.renameTo(new File(destDir,file.getName()));
        }else {
            cutFile(file, new File(destDir,File.separator));
            System.out.println("移动文件"+file.getName()+"--------"+file.getPath());
        }
    }
    //最后删除源目录
    srcDir.delete();
}

///////////////////////////////////////////////////

  //根据源目录名创建新目录名
    File destDir=new File(dest+srcDirName);

这句是怎么回事

认真是一种态度的主页 认真是一种态度 | 初学一级 | 园豆:175
提问于:2017-07-31 09:57
< >
分享
最佳答案
0

应该是和一个STRING拼接的时候dest试着转化为STRING了,然后就会调用他的toString()方法,这个方法返回path

收获园豆:30
流年飞雨 | 小虾三级 |园豆:1928 | 2017-07-31 12:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册