如何在ANDROID中读取raw中的大量文件?

时间:2015-10-03 14:36:17

标签: java android

我的原始文件夹中有201个文本文件命名为level0.txt,level1.txt,level2.txt ........

我想阅读它们但不想编写201行代码

到目前为止,我已经尝试了这个

    private void readLevelName() {
          for (int i = 0 ; i <= 200 ; i++){
              String s = RRaw.substring(0,11)+i;
               map[i]= Integer.parseInt(s);
    // Log.e(""+i , s);
  }

RRaw是我的字符串,包含&#34; R.raw.level&#34 ;, map []是一个int数组

错误是

 Caused by: java.lang.NumberFormatException: Invalid int: "R.raw.level0"

伙伴们将不胜感激

1 个答案:

答案 0 :(得分:0)

您无法解析类似&#34; R.raw.level0&#34;的字符串。到一个int。

如果要按名称获取原始数据,则应使用getIdentifier()。

您的代码应该是这样的:

private void readLevelName() {

   String packageName = getPackageName();

   for (int i = 0 ; i <= 200 ; i++){
              String s = RRaw.substring(0,11)+i;
              map[i]= getResources().getIdentifier(s, "raw", packageName);
   }
}