getParentFile()方法的一些使用技巧

创建file对象

String path = "e:/jfile/upload";
String name = "csdn.txt";
File f = new File("path","name");

f代表的就是e:/jfile/upload/csdn.txt这个文本对象,假设这个对象就是我们计划上传的最终文件,将该txt文件存放于e盘的jfile/upload文件夹中。

我们知道在上传前需要确认文件夹是否存在如果没有需要创建一个,此时需要判断的是e:/jfile/upload这个多级文件夹是否存在,如果没有创建的也只是这个多级文件夹,这时候就需要调用getParent()方法了,它能够抽取出file对象中末级文件之上的文件夹路径。
File ff = f.getParent(); 返回的仍是一个File对象。

File ff = f.getParent();//通过此段代码确保存放文件的路径存在
if(!ff.exists()){
	ff.mkdirs();
}

如果直接用f进行判断及创建路径,会直接创建出e:/jfile/upload/csdn.txt这个文本对象,后续再写入真正的csdn.txt时会出现重名情况。所以通过f.getParent()方法很有必要。
当然我们也可以直接将父级路径封装成一个File对象进行判断和创建,不过这样子就显得不太高级了……

File fp = new File(path,"");
if(!fp.exists()){
	fp.mkdirs();
}

有时还会遇到getParent()方法这个方法也会返回父级路径,不过是字符串类型的,无法使用exists进行判断,也无法使用mkdirs进行创建了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值