Android之File的getParent方法

String name = “AAAA.txt”;
String lujing = “ab”+”/”+”abc”;//定义路径
File a = new File(lujing,name);
那么,a的意义就是“ab/abc/AAAA.txt”。

为什么要有getParent方法的存在?

首先,在Java当中,File 既可以表示成 文件(AAAA.txt文件)也可以表示为 文件夹(以AAAA.txt为名的文件夹),
所以在“ab/abc/AAAA.txt”真正出现在磁盘结构里之前,它既可以表示这个文件,也可以表示这个路径的文件夹。-----那么,如果没有getParentFile(),直接执行a.mkdirs(),就是说,创建“ab/abc/AAAA.txt”代表的文件夹,也就是“ab/abc/AAAA.txt/”,在此之后,执行a.createNewFile(),试图创建a文件,然而以a为名的文件夹已经存在了,所以createNewFile()实际是执行失败的。(你可以用System.out.println(a.createNewFile())这样来检查是不是真正创建文件成功。)

那么需要怎么创建文件呢?
所以,这里,你想要创建的是“ab/abc/AAAA.txt”这个文件。在创建AAAA.txt之前,必须要ab/abc这个目录存在。所以,要得到ab/abc,就要用a.getParentFile(),然后要创建它,也就是a.getParentFile().mkdirs()。(用来创建目录 来放置AAAA.txt文件)在这之后,a作为文件所需要的文件夹大概会存在了(有特殊情况会无法创建的,这里不考虑),就执行a.createNewFile()创建a文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值