2014-12-24 34 views
3

我想在创建新文件夹之前检查Folder Existance。 对于哪种方法,我需要使用:java:File.getAbsoluteFile()。exists()v/s File.exists()

File folder = new File(PATH); 

有检查二方法相同
1)folder.getAbsoluteFile().exists() OR
2)folder.exists()

使用哪一个?

感谢您在这里寻找。

+2

folder.exists():) –

+1

@AlexanderArutinyants:请您详细说明一下吗? – mcacorner

+0

您可以使用这两种条件。 –

回答

2

首先读取exists上的Oracle文档。和getAbsoluteFile

回答自己getAbsoluteFile做什么? 然后回答自己,你需要得到你的文件夹抽象路径名的绝对形式?它对你有帮助吗?

如果不是,请使用最简单的易写易读方法folder.exists()

在编码方面,我们总是努力不做无关紧要的事情,保持我们的代码快速,清洁,易读,易于理解和更新。

1

通常呼叫folder.exists()是首选,因为它适用于abstract pathname

另一方面getAbsoluteFile()相当于new File(this.getAbsolutePath()),它返回此抽象路径名的绝对形式。

0

folder.exist()检查该目录是否存在于抽象路径,当且仅当该抽象路径名表示的文件或目录存在时才返回true;否则为假。

folder.getAbsoluteFile().exists()在这种情况下,它返回此抽象路径名的绝对形式。相当于new File(this.getAbsolutePath()).exist()并检查文件夹是否存在于指定的绝对路径。

所以你可以使用它们中的任何一个,只是区别在于抽象路径和绝对路径,但对于我的野心,你应该使用folder.exist(),因为它会避免创建new File

3

在正常情况下,这两个表达式的结果没有区别。因此,使用更简单:

folder.exists()