如何检查 Java 中是否存在文件?

2022-08-31 03:59:58

在打开文件进行Java(相当于Perl的)读取之前,我如何检查文件是否存在?-e $filename

关于SO的唯一类似问题涉及写入文件,因此使用答案显然不适用。FileWriter

如果可能的话,我更喜欢一个真正的API调用返回tru/false,而不是一些“调用API打开一个文件,并在它抛出一个异常时捕获,你检查文本中的'无文件'”,但我可以接受后者。


答案 1

使用 java.io.File

File f = new File(filePathString);
if(f.exists() && !f.isDirectory()) { 
    // do something
}

答案 2

我建议使用代替.大多数情况下,您希望检查路径是否指向文件,而不仅仅是它是否存在。请记住,如果您的路径指向某个目录,则返回 true。isFile()exists()exists()

new File("path/to/file.txt").isFile();

new File("C:/").exists()将返回 true,但不允许您将其作为文件打开和读取。