我有一些文件存储在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();