如何按名称从res / raw读取文件我想从res / raw /文件夹中打开一个文件。我绝对相信文件存在。要打开我试过的文件File ddd = new File("res/raw/example.png");命令ddd.exists();收益率为假。所以这种方法不起作用。试MyContext.getAssets().open("example.png");以getMessage()“null”结束异常。简单地使用R.raw.example因为文件名仅在运行时作为字符串被识别,所以是不可能的。为什么访问文件夹/ res / raw /中的文件如此困难?
3 回答
侃侃尔雅
TA贡献1801条经验 获得超16个赞
在给定链接的帮助下,我能够自己解决问题。正确的方法是获取资源ID
getResources().getIdentifier("FILENAME_WITHOUT_EXTENSION", "raw", getPackageName());
将其作为InputStream
InputStream ins = getResources().openRawResource( getResources().getIdentifier("FILENAME_WITHOUT_EXTENSION", "raw", getPackageName()));
LEATH
TA贡献1936条经验 获得超6个赞
您可以使用原始/ res读取文件getResources().openRawResource(R.raw.myfilename)
。
但是有一个IDE限制,您使用的文件名只能包含小写字母数字字符和点。所以文件名喜欢XYZ.txt
或my_data.bin
不会在R中列出。
- 3 回答
- 0 关注
- 485 浏览
添加回答
举报
0/150
提交
取消