如何枚举原始资源



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

yeh_vidhi_mangal.txt  
om_jai_mahavir.txt  
tumse_laagi_lagan.txt

我想在代码中迭代这些文件。比如:

Resources myResources = getResources();
for(int i = 0; i < ...;i++)
{
   int id_of_ith_resource = ....
    InputStream in = myResources.openRawResource(id_of_ith_resource);
   // do my stuff
}

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

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

如果你的原始文件夹包含静态文件只意味着,文件不会动态生成,那么使用这个方法,

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

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

最新更新