我一直在努力处理一个简单的资产目录列表。我有以下结构(粗略地说):
-dirA
--data.xml
--AudioSUBdir
---some files here
--VideoSUBdir
---some files here
-dirB
--data.xml
--AudioSUBdir
---some files here
-test
--SUBtestDir
我想要的只是父资产目录的列表(即 dirA、dirB 和 test;然后我将读取 data.xml 文件并在此基础上对子目录的内容做一些事情)。
我认为获得所需的两个字符串很容易:
try {
String[] fileNames;
fileNames = getAssets().list("");
for(String name:fileNames){
// process it, e.g. write it out }
} catch (IOException e) {}
但是,我得到的是类似 AudioSUBdir、dirA、dirB、VideoSUBdir、webkit 的东西(根本没有该死的 webkit!)它似乎同时在做几件奇怪的事情:
- 它忽略目录结构,即甚至读取它不应该读取的子目录
- 它神奇地显示了一个 webkit 目录,尽管整个项目文件夹中没有任何内容
- 它完全忽略了“测试”目录
所以我的问题是两个(半)
- 我如何只获取根文件夹(我想稍后测试它们是否存在文件夹/data.xml,它将被处理并且应用程序将执行它应该做的任何事情)
- 对正在发生的事情的任何解释。我理论上可以处理它甚至写出子目录的事实,尽管我不想要它们。我什至可以克服它忽略测试文件夹的事实(也许是因为它们是空的? - 好吧,空的,只包含一个子目录,而不是一个文件,但无论如何......)但是 webkit 文件夹到底是从哪里来的?它是由 apk 构建过程以某种方式“后生成”的吗?
- 我感觉所有子文件夹实际上都折叠到一个根目录中。是不是意味着同名文件会在构建过程中发生冲突?