android 如何枚举原始资源?

06odsfpq  于 2023-06-20  发布在  Android
关注(0)|答案(2)|浏览(133)

我有一些文件存储在res/raw下。例如:

  1. yeh_vidhi_mangal.txt
  2. om_jai_mahavir.txt
  3. tumse_laagi_lagan.txt

我想在代码中迭代这些文件。类似于:

  1. Resources myResources = getResources();
  2. for(int i = 0; i < ...;i++)
  3. {
  4. int id_of_ith_resource = ....
  5. InputStream in = myResources.openRawResource(id_of_ith_resource);
  6. // do my stuff
  7. }

如何填写上面的点(...)?

aoyhnmkz

aoyhnmkz1#

如果你把你的文件放在assets目录而不是raw目录,你可以使用AssetManager.list()方法来枚举它们。不知道为什么你需要他们在raw目录,而不是assets目录。

kkih6yb8

kkih6yb82#

如果原始文件夹仅包含静态文件,则文件不会动态生成,请使用此方法,

  1. int num[] = {R.raw.yeh_vidhi_manga,R.raw.om_jai_mahavir,R.raw.tumse_laagi_lagan};
  2. for(int resId in num){
  3. InputStream ins = getResources().openRawResource(resId);
  4. //do the stuff
  5. }

否则,如果内容是从远程文件夹动态生成的,则使用AssetManager并迭代文件AssetManager.list();

相关问题