File对象中创建文件夹的方法mkdir与mkdirs的区别

mkdir与mkdirs相同之处
1.都是用来创建文件夹的.
2.要创建的文件夹存在或者成功都会返回Boolean值表示创建成功与失败,true表示存在或者创建成功,false表示创建失败.
mkdir与mkdirs不相同之处
mkdirs()可以建立多级文件夹, mkdir()只会建立一级的文件夹
1.利用mkdirs()方法创建多级文件夹.

new File("D:/create/firstLevel/twoLevel/threeLevel").mkdirs();

注:执行后, 会在D盘路径下建立/create/firstLevel/twoLevel/threeLevel四级文件夹.
源码:

public boolean mkdirs() {
        if (exists()) {
            return false;
        }
        if (mkdir()) {
            return true;
        }
        File canonFile = null;
        try {
            canonFile = getCanonicalFile();
        } catch (IOException e) {
            return false;
        }

        File parent = canonFile.getParentFile();
        return (parent != null && (parent.mkdirs() || parent.exists()) &&
                canonFile.mkdir());
    }

2.利用mkdir()方法创建多级文件夹会失败返回false, mkdir()只会建立一级的文件夹 .

new File("E:/create/firstLevel/twoLevel/threeLevel").mkdir();

注:不会在E盘下建立任何文件夹, 因为找不到/create/firstLevel/twoLevel/threeLevel文件夹, 结果返回false.
源码:

public boolean mkdir() {
        SecurityManager security = System.getSecurityManager();
        if (security != null) {
            security.checkWrite(path);
        }
        if (isInvalid()) {
            return false;
        }
        return fs.createDirectory(this);
    }
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶枫^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值