【发布时间】:2014-02-20 12:44:08
【问题描述】:
以下是我在AsynTask 线程中的代码:
File f = new File(Environment.getExternalStorageDirectory()+"/DCIM/IMG_20140210_130057.jpg");
boolean exist=f.exists(); //debug result exist=false.
此代码触发FileNotFoundException,但文件在那里。
我已经添加了以下权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
【问题讨论】:
-
尝试打印出您正在构建的文件路径。
-
尝试添加读取外部存储的权限。
-
谢谢大家。经过几次尝试。我发现问题出在 AsynTask 中。因为当我在 MainActivity UI 线程中获取文件代码时,file.exists 返回 true。但在 AsynTask 执行中,file.exists 返回 false。怎么会这样?
-
再次感谢您。我终于得到的问题是,在 AsyncTask 中,将参数从 List
传递到 List 时,将对象转换回 String 时,它会自动添加 [/mnt/sdcard...] ,这会导致 FileNotFound 异常。抱歉耽误您的时间。
标签: android file android-asynctask filenotfoundexception