我正在使用以下代码来检查文件是否存在并且可以用Java读取:
File sourceFile = new File(sourcePath);
if (!sourceFile.exists() || !sourceFile.canRead())
throw new Exception("Source file is not accessible.");
但是,我想要解决的问题是确定更详细的为什么 exists()可能会或可能不会返回false。例如,可以访问该位置,但该文件不存在。或者,该位置可能被防火墙阻止,文件确实存在,只是无法访问。
是否有快速的方法来确定:
谢谢!
答案 0 :(得分:4)
答案 1 :(得分:0)
在exists方法和checkRead方法代码下面:
exec
Exist方法正在执行文件检查读取。
请参阅以下链接,以便使用SecurityManager将读取授予给定文件
https://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html