我想在创建新文件夹之前检查文件夹存在。 对于我需要使用的方法:
File folder = new File(PATH);
检查相同的方法有两种方法
1)folder.getAbsoluteFile().exists()
OR
2)folder.exists()
使用哪一个?
感谢您在这里寻找。
答案 0 :(得分:3)
在正常情况下,这两个表达式的结果没有区别。所以,使用更简单的:
folder.exists()
答案 1 :(得分:2)
首先阅读exists上的Oracle文档。并且getAbsoluteFile。
自己回答getAbsoluteFile
做了什么?
然后回答你自己你需要得到你的文件夹抽象路径名的绝对形式?它对你有什么帮助吗?
如果没有,请使用最简单易用的易读方法folder.exists()
。
在编码中,我们总是尽量不做不必要的事情,以保持我们的代码快速,清晰,易读,易于理解和更新。
答案 2 :(得分:1)
通常首选folder.exists()
,因为它适用于abstract pathname
。
另一方面,getAbsoluteFile()
等同于new File(this.getAbsolutePath())
,它返回此抽象路径名的绝对形式。
答案 3 :(得分:0)
您也可以同时使用这两个条件。
此外,您可以参考此链接..
How to create a file -- including folders -- for a given path?
希望这会有所帮助!
答案 4 :(得分:0)
folder.exist()
检查目录是否存在于抽象路径中,当且仅当该抽象路径名表示的文件或目录存在时,它才返回true;否则就是假的。
folder.getAbsoluteFile().exists()
在这种情况下,它返回此抽象路径名的绝对形式。等效于new File(this.getAbsolutePath()).exist()
并检查文件夹是否存在于指定的绝对路径上。
所以你可以使用其中任何一个,只是区别在于抽象路径和绝对路径,但是对于我的公开,你应该使用folder.exist()
,因为它会避免创建new File
。