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

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

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

唯一关于SO的类似问题处理写入文件,因此使用FileWriter回答,这显然不适用于这里。

如果可能的话,我更喜欢返回true/false的真正API调用,而不是某些“调用API打开文件并在它抛出异常时捕获它,您可以在文本中检查‘没有文件’”,但我可以接受后者。


凤凰求蛊
浏览 1122回答 3
3回答

郎朗坤

使用java.io.File:File f = new File(filePathString);if(f.exists() && !f.isDirectory()) {      // do something}

幕布斯6054654

我建议用isFile()而不是exists()..大多数情况下,您希望检查路径是否指向一个文件,而不仅仅是它的存在。记住exists()如果路径指向目录,则返回true。new File("path/to/file.txt").isFile();new File("C:/").exists()将返回true,但不允许您将其作为文件打开和读取。

桃花长相依

通过在Java SE 7中使用NiO,import java.nio.file.*;Path path = Paths.get(filePathString);if (Files.exists(path)) {   // file exist}if (Files.notExists(path)) {   // file is not exist}如果两者都存在,并且notExist返回false,则无法验证文件的存在。(可能无法访问这条路径)您可以检查路径是目录还是常规文件。if (Files.isDirectory(path)) {   // path is directory}if (Files.isRegularFile(path)) {   // path is regular file}请查一下这个JavaSE 7教程.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java