(J2ME)如何获取我jar应用程序内的文件/资源列表

4

因此,我正在使用j2me和lwuit创建一个移动应用程序。在该应用程序中,用户将打开一个文件。

我的问题是如何获取jar应用程序内的文件列表。

例如:在res文件夹中有:

File1.fl, File2.fl, File3.fl,

我们可以使用getResourceAsStream()函数打开单个文件。但是如何获取文件夹内文件名的列表。

我遇到了FileConnection,但它似乎是用于访问本地手机中的文件。

在Java中,我们可以使用File类来实现这一点。有人能帮助我吗?谢谢大家。


为什么要将文件存储在Jar文件中? - Lucifer
我制作了一个故事阅读器应用程序,它显示故事列表。我将应用程序标题存储在记录存储器中,并将每个文件的字符串存储在各自的文件夹中,这些文件夹位于我的包内。我将一个故事分成几个部分,并将它们放在一个文件夹中。因此,我打算只获取文件夹中的文件列表并将它们显示给用户选择,而不是将每个部分链接文件存储在记录存储器中。 - Bryan Giovanny
1个回答

1

这至少适用于小程序:

ClassLoader cl = getClass().getClassLoader();
URL url = cl.getResource("META-INF/MANIFEST.MF");  /* just a random file that's known to exist */
JarURLConnection conn = (JarURLConnection)url.openConnection();
JarFile jar = conn.getJarFile();
Enumeration e = jar.entries();

然后你需要遍历枚举并选择适当的项。请注意,条目将是JAR文件中的完整路径名,并且目录可能不存在作为自己的条目,而只存在于所包含文件的路径名中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接