为了账号安全,请及时绑定邮箱和手机立即绑定

如何按名称从res / raw读取文件

如何按名称从res / raw读取文件

肥皂起泡泡 2019-07-27 14:22:38
如何按名称从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()));


查看完整回答
反对 回复 2019-07-27
?
LEATH

TA贡献1936条经验 获得超6个赞

您可以使用原始/ res读取文件getResources().openRawResource(R.raw.myfilename)

但是有一个IDE限制,您使用的文件名只能包含小写字母数字字符和点。所以文件名喜欢XYZ.txtmy_data.bin不会在R中列出。


查看完整回答
反对 回复 2019-07-27
  • 3 回答
  • 0 关注
  • 485 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信