android - 显示本地存储中的图像时出现 FileNotFoundException

标签 android filenotfoundexception android-bitmap

我正在尝试显示我正在使用的下载文件夹中的图像。

    Bitmap bmImg = BitmapFactory.decodeFile("file:/storage/sdcard0/download/13448FILE.jpg");
    message_image.setImageBitmap(bmImg);

但是在这样做时我得到了异常我已经检查了这条路径图像位于那里。我已经在 list 中授予了 WRITE_EXTERNAL_STORAGEREAD_EXTERNAL_STORAGE 权限

记录猫

E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /file:/storage/sdcard0/13448FILE.jpg: open failed: ENOENT (No such file or directory)

最佳答案

首先,decodeFile() 不使用方案。您需要删除 file:

其次,不要在轻量级测试之外对路径进行硬编码。您的路径在许多 Android 设备上都是错误的。

第三,不要像您在这里所做的那样在主应用程序线程上解码图像。有很多image loading libraries for Android它可以在后台线程上安全地解码图像,并在准备就绪时将其加载到您的 ImageView 中。

关于android - 显示本地存储中的图像时出现 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34988531/

相关文章:

Android使用PorterDuff合并图片

java - 无法弄清楚为什么 TextView 不会更新到 SQLite 结果

java - 如何在匿名类java中分配变量值

Android:查找动态创建 View 的ID

java - 多次绘制位图

android - 为什么 setImageBitmap 对自定义 ImageButton 没有影响?

java - 找不到符号类 onClickListener

java - FileReader 无法找到文件,即使它位于工作目录中

java - 学习处理异常,想不通这个FileNotFoundException

java - java中的FileNotFoundException