使用FileInputStream时FileNotFoundException

时间:2014-12-04 18:04:44

标签: java android

在我的Android应用中,用户必须在手机上选择要在服务器上上传的图片。 我检索路径,但是当我初始化FileInputStream对象时,我遇到了错误。

这是我的代码:

File file = new File(imageURI.getPath());
FileInputStream fileInputStream = new FileInputStream(file);

我有这个错误:

java.io.FileNotFoundException: /external/images/media/30732: open failed: ENOENT (No such file or directory)

但是文件存在是因为用户可以选择它。

在清单中,有WRITE_EXTERNAL_STORAGE权限。所以问题不是来自它。

问题出在哪里?

2 个答案:

答案 0 :(得分:2)

您有一个content Uri,请将其记录下来查看。 getPath返回与文件路径无关的Uri的路径部分。

尝试使用:

InputStream imageStream = getContext().getContentResolver().openInputStream(imageURI);

答案 1 :(得分:0)

在访问文件之前检查文件是否存在。

if (file.exists()){

}