(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 应用程序中反编译、编辑和重新编译单个类文件