我的应用程序有一个 Assets 目录,我在其中转储了一堆我需要在运行时加载的文本文件。
我有一个包含特定类型 Assets (即“assets/subdir”)的目录,我想一次加载该目录中的所有文件。
我有这样的代码:
AssetManager assetMgr = getAssets();
String[] assetsIWant = assetMgr.list("subdir");
for(String asset: assetsIWant) {
doAssetyThing(asset);
}
我已经为assetMgr.list() 尝试了无数种不同版本的参数,但没有得到任何结果。
如果我使用“/”,我会返回一个包含“assets”目录的列表,以及一些随机的其他项目(例如 META_INF)。如果我传递任何其他字符串(如“assets”或“assets/”或“/assets”或“/assets/”或“mysubdir”或“/mysubdir”或“assets/mysubdir”或...),那么我得到返回一个空数组。
不幸的是,文档相当不连贯。
有人知道 list() 参数的正确公式是什么吗?
最佳答案
传递一个空字符串似乎对我有用。当我执行以下操作时,我会获得 Assets 目录中的文件列表:
AssetManager aMan = appContext.getAssets();
String[] filelist = aMan.list("");
关于java - 使用 AssetManager.list 列出子目录中的 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3631370/