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

Posted

技术标签:

【中文标题】(J2ME) 如何在我的 jar 应用程序中获取文件/资源​​列表【英文标题】:(J2ME) How to get list of files/resources inside my jar app 【发布时间】:2011-11-24 02:46:30 【问题描述】:

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

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

例如:在 res 文件夹中有:

文件1.fl, 文件2.fl, 文件3.fl,

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

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

在 java 中,我们可以使用 File 类来做到这一点。任何人都可以帮助我解决这些问题...... 谢谢各位。。

【问题讨论】:

为什么要将文件存储在 Jar 文件中? 我制作了一个显示故事列表的故事阅读器应用程序。我将应用程序标题存储在一个 recordStore 中,其中包含我保存在我的包中的每个文件相应文件夹的字符串。我将一个故事分成几个零件并将它们放在一个文件夹中。因此,我不打算将每个零件链接文件存储在记录存储中,而是只获取文件夹中的文件列表并将它们展示给用户选择。 【参考方案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 中的完整路径名,并且目录可能不会作为它们自己的条目出现,而只是作为其中包含的文件的路径名的一部分。

【讨论】:

以上是关于(J2ME) 如何在我的 jar 应用程序中获取文件/资源​​列表的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的类路径中获取多项目 gradle springoboot 应用程序的库 jar?

如何从 j2me .jar 应用程序中反编译、编辑和重新编译单个类文件

在 j2me 中加载屏幕

为啥我运行应用程序时 jar 文件的大小会增加?

我可以减小用 LWUIT 编写的 J2ME jar 的大小吗?

J2ME 中的数据库