使用 getResourceAsStream 使用他的完整路径读取 Android 文件

Using getResourceAsStream to read an Android file using his full-path

我正在尝试使用 InputStream resourceAsStream = MyClass.class.getResourceAsStream("file:///data/data/com.mysociety.myapp.debug/files/picture.jpg"); 将 picture.jpg 的流放入 resourceAsStream 变量,但是这个 returns null 因为它找不到文件。

我尝试通过删除路径中的 file://.debug,但它也不起作用。 (Android Studio Device File Explorer给出的路径是“/data/data/com.mysociety.myapp.debug/files/picture.jpg”)

你有什么想法吗?谢谢!

使用 openInputStream("picture.jpg") — 调用某些 Context,例如您的 activity — 在该位置的文件上打开 InputStream

或者,如果您愿意,可以使用 new FileInputStream(new File(getFilesDir(), "picture.jpg")),其中 getFilesDir() 也是 Context 上的一种方法。

这些与您最初将文件放在那里的方式相反(例如,您使用了 openOutputStream()new FileOutputStream())。