zoukankan      html  css  js  c++  java
  • Java File isDirectory 、isFile 都返回false的问题

    形如:
    三级目录 A(Dir)-》B(Dir)-》C(File)

    ①File child = new File(children[i]);

    无论File是目录还是文件,file.isDirectory() 、file.isFile() 都会返回false
    ②File child = new File(dir, children[i]);

    传入父目录,就可以正确识别 child 的类型了。

    =======================================

    Demo: 只删除文件,不删除文件夹

    private static boolean deleteDir(File dir) {
        if (dir == null) {
            return false;
        }
        if (dir.isDirectory()) {
            String[] children = dir.list();
            int len = children.length;
            if (len == 0) {
                return true;
            }
            for (int i = 0; i < len; i++) {
                File child = new File(dir, children[i]);
                boolean success;
                if (child.isDirectory()) {
                    if (child.list().length == 0) {
                        return true;
                    }
                    success = deleteDir(child);
                } else {
                    success = child.delete();
                }
                if (!success) {
                    return false;
                }
                if (i == len - 1) {
                    return true;
                }
            }
        }
        return dir.isDirectory();
    }
    
  • 相关阅读:
    Element Form表单验证
    layui table中记住当前页
    Mysql定时任务
    Mysql存储过程
    StringRedisTemplate与redistemplate
    vue路由传值
    背景色渐变(兼容各浏览器)
    用onclick点击框架跳转
    美化滚动条
    图片无缝滚动
  • 原文地址:https://www.cnblogs.com/jooy/p/13821253.html
Copyright © 2011-2022 走看看