使用 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()
)。
我正在尝试使用
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()
)。