首页 > 解决方案 > java.lang.IllegalArgumentException:URI 不是绝对的 - FileInputStream

问题描述

这是我的道路:

/storage/emulated/0/Pictures/MP4_20180626_221051.mp4

但是当我把这个网址放到FileInputStream我收到这个错误信息时:

java.lang.IllegalArgumentException:URI 不是绝对的:/storage/emulated/0/Pictures/MP4_20180626_221051.mp4

我的代码是:

    String _path = path;
    URI uri = URI.create(_path);

        FileInputStream fis = new FileInputStream(new File(uri)); // error line
        Bitmap imageBitmap = BitmapFactory.decodeStream(fis);

我的错在哪里?

标签: javaandroid

解决方案


在这种情况下,要么直接在文件构造函数中传递路径而不用 URI 包装,要么在路径前加上协议file:

file:/storage/emulated/0/Pictures/MP4_20180626_221051.mp4
file:///storage/emulated/0/Pictures/MP4_20180626_221051.mp4

推荐阅读