博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中的getParentFile
阅读量:7034 次
发布时间:2019-06-28

本文共 743 字,大约阅读时间需要 2 分钟。

hot3.png

 String name = "AAAA.txt";

String lujing = "1"+"/"+"2";//定义路径
File a = new File(lujing,name);
那么,a的意义就是“1/2/AAAA.txt”。
这里a是File,但是File这个类在里表示的不只是文件,虽然File在英语里是文件的意思。Java里,File至少可以表示文件或文件夹(大概还有可以表示系统设备什么的,这里不考虑,只考虑文件和文件夹)。
也就是说,在“1/2/AAAA.txt”真正出现在磁盘结构里之前,它既可以表示这个文件,也可以表示这个路径的文件夹。那么,如果没有getParentFile(),直接执行a.mkdirs(),就是说,创建“1/2/AAAA.txt”代表的文件夹,也就是“1/2/AAAA.txt/”,在此之后,执行a.createNewFile(),试图创建a文件,然而以a为名的文件夹已经存在了,所以createNewFile()实际是执行失败的。你可以用System.out.println(a.createNewFile())这样来检查是不是真正创建文件成功。
所以,这里,你想要创建的是“1/2/AAAA.txt”这个文件。在创建AAAA.txt之前,必须要1/2这个目录存在。所以,要得到1/2,就要用a.getParentFile(),然后要创建它,也就是a.getParentFile().mkdirs()。在这之后,a作为文件所需要的文件夹大概会存在了(有特殊情况会无法创建的,这里不考虑),就执行a.createNewFile()创建a文件。

转载于:https://my.oschina.net/u/2391658/blog/1439063

你可能感兴趣的文章
avahi-daemon服务
查看>>
Elasticsearch初步使用(安装、Head配置、分词器配置)
查看>>
论坛外链如何才能快速收录?
查看>>
学科前沿技术之前景计算机(DNA计算机,光计算机,量子计算机,纳米计算机)...
查看>>
解决打开超线程功能后系统反而变慢的问题
查看>>
Oracle local write wait等待事件
查看>>
热备份路由协议,vlan与生成树(STP)之间的关系
查看>>
CentOS操作MySQL问题集锦
查看>>
Linux基础命令---验证组文件grpck
查看>>
Python安装MySQL模块
查看>>
2012年度IT博客大赛 各奖项获奖名单
查看>>
Fragment与FragmentActivity的关系
查看>>
RIS镜像中添加网卡和RAID卡驱动方法及实践经验总结
查看>>
Window 2003证书服务器迁移到Windows 2008 R2(2)
查看>>
php的安装配置
查看>>
SecureCRT中文显示乱码问题
查看>>
Linux 设备管理
查看>>
rhel7开机启动自己shell脚本
查看>>
Git下的冲突解决
查看>>
给一个根快满了的系统扩容
查看>>