1

如何列出黑莓中 res 文件夹的内容?例如,如果 res 文件夹有四个文件,我想在 String 数组中获取这些文件的名称。

4

1 回答 1

1

我很想在这方面犯错,但我不确定你能做到这一点。我以前尝试过类似的方法,但从未找到解决方案。

我考虑过尝试获取对我文件夹中的一个已知文件的引用res\,或者可能是顶级res目录本身。从那里,我将枚举目录树的内容。

问题是这样做

InputStream input = getClass().getResourceAsStream("/res/img/icon.png");

会给你一个InputStream,它不会让你访问文件系统信息(它只是一个流,它是一个抽象)。

而且,如果您尝试获取文件连接

FileConnection conn = (FileConnection) Connector.open("local:///img/icon.png");

您会被告知 Connector 类不支持该local:///协议(我也尝试过使用cod:///URL 方案,但没有运气)。

解决方法

我唯一建议的是,由于您的资源文件夹是只读文件夹,您应该能够在构建时列出它们的内容,而不必在运行时在您的应用程序中进行。

我不知道您使用的是哪个构建系统(例如 Eclipse 插件、bb-ant-tools、JDE 等),但您当然可以编写一个桌面 Java 应用程序来解析您的项目res/文件夹并将内容写入xml文件,该文件也将放置在您的res/文件夹中。

然后,在运行时,您可以从 xml 文件中读取目录列表。

就像我说的,我很想知道应用程序中是否有办法做到这一点,但如果没有,某种预构建脚本也应该可以工作。

于 2012-12-23T06:45:13.793 回答