【发布时间】:2011-06-30 23:58:53
【问题描述】:
我需要查看特定包中的文件名。目前,我正在执行以下操作:
ClassLoader loader = Thread.currentThread().getContextClassLoader();
URL packageUrl = loader.getResource(getPackage().replace('.', '/'));
File packageDir = new File(packageUrl.getFile());
// Work with the files inside the directory
这实际上在 Eclipse 中工作得很好,因为默认情况下它不会打包我的应用程序。然而,当我从一个 jar 文件运行它时,我在 packageUrl 上得到一个 NullPointerException。
那么,如何获取 jar 中的包的内容列表?我的研究建议使用getResourceAsStream,但我不太确定如何使用InputStream 探索目录,如果可能的话。
【问题讨论】:
标签: java jar classloader