确定资产文件夹中文件的文件类型

时间:2010-06-09 21:39:04

标签: android directory filesystems assets

问题:如何以编程方式区分资产文件夹中的目录和常规文件?

使用AssetManager访问assets文件夹中的文件时,似乎无法确定文件实际上是文件还是目录。您从list方法获取文件列表,然后使用open方法打开文件。我想也许使用openFd方法来获取资产文件描述符(然后随后请求正常的文件描述符)将为我提供一些信息。但是请求目录的文件描述符会导致IOException(这是有道理的,因为目录具有文件描述符意味着什么......?)。

目前,我依赖于IOException(由于tryng打开assets文件夹中的目录而产生),以确定文件是否实际上是一个目录。 (打开常规文件工作正常)。这似乎是一个坏主意。还有其他任何区分文件和目录的建议吗?

1 个答案:

答案 0 :(得分:1)

我同意您对帖子的评论。但要回答您的问题,请将File对象指向assets目录 File root = new File("path/to/directory");

然后你可以像这样提取它的所有子文件和目录 File[] files = root.listFiles();

获得列表后,您可以确定使用File.isDirectory()的内容。

至于确定文件类型,就像使用String.subString()在上一个句点之后抓取字符一样简单。

希望这会有所帮助

相关问题