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

新手上路,请多包涵

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

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

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

原文由 DVK 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 739
2 个回答

使用 java.io.File

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

原文由 Sean A.O. Harney 发布,翻译遵循 CC BY-SA 4.0 许可协议

我建议使用 isFile() 而不是 exists() 。大多数时候,您不仅要检查路径是否指向文件,还要检查它是否存在。请记住,如果您的路径指向目录, exists() 将返回 true。

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

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

原文由 Chris Dail 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题