如何避免FileNotFoundException?如何检查Android中是否可以访问/存在文件?

时间:2017-08-30 14:35:28

标签: java file filenotfoundexception

我遇到java.io.FileNotFoundException问题。有时我会得到这个例外,有时候不会。我不知道为什么,因为指定的文件存在。我认为该文件可能被其他应用程序或系统使用。

我怎么知道文件何时存在/可以读/写?

谢谢。

错误日志:

IOKt错误java.io.FileNotFoundException:/storage/emulated/0/Android/data/com.android.vending/files/20170321_161318.txt:open failed:ENOENT(没有这样的文件或目录)

2 个答案:

答案 0 :(得分:0)

结帐File.exists()。但是您的代码应该能够处理FileNotFoundException。此外,您应该首先调查为什么要在第一时间获取它(可能是异常的消息包含线索),因为它可能是由于代码中的错误引起的。

答案 1 :(得分:0)

FileNotFoundException文件说明:

  

{@link FileInputStream} {@link将抛出此异常     文件时FileOutputStream}和{@link RandomAccessFile}构造函数     具有指定的路径名​​不存在。 这些也将被抛出     构造函数如果文件确实存在但由于某种原因是不可访问的     例如,尝试打开只读文件进行编写

因此,您应该确保您拥有该文件的权限,例如canRead()类中的canWrite()java.io.File方法。