我正在尝试从原始文件夹中动态检索文件,如下所示
try{
DataInputStream dataIO= new DataInputStream(getResources().getIdentifier("raw/"+chapter, null ,<what to write>);
String strLine= null;
while((strLine = dataIO.readLine())!=null){
buffer.append(strLine);
buffer.append("\n");
}
dataIO.close();
}catch(Exception e){}
如果我直接在“要写的内容”部分输入包名称,则会显示错误。请介绍一下。
答案 0 :(得分:2)
假设您想要动态检索原始资源的ID,以下代码段将非常有用:
int id = getResources().getIdentifier(chapter, "raw", getPackageName());
并且应该构造您的DataInputStream对象:
DataInputStream dataIO= new DataInputStream(getResources().openRawResource(id));
答案 1 :(得分:0)
完全限定的资源名称的格式为“package:type / entry”,代码中缺少该名称。我使用下面的代码来访问原始资源。
getResources()。getIdentifier(“package:type / entry”,null,null);