Java - 获取当前JAR中的文件名列表

时间:2012-03-02 00:15:22

标签: java jar zip iteration directory

我需要在程序运行时获取程序JAR中特定文件夹中每个文件的文件名。是否有可能做到这一点?我不知道从哪里开始。

需要以编程方式完成并且与平台无关。

2 个答案:

答案 0 :(得分:4)

要列出jar文件的内容,只需运行:

$jar tf MyJar.jar

您是否希望在java中以编程方式执行此操作?

要以编程方式执行此操作,请参阅this示例。

答案 1 :(得分:1)

你要求的东西一般不可用。类通过ClassLoader实例加载,这些实例可以从许多不同的位置获取类字节码(网络,jar文件,目录中的.class文件,动态生成)。

您可以知道的最多是包层次结构,您可以从

获取
myObject.getClass().getClassLoader().getPackages()

返回调用时可用的包列表。对于给定的包,您可能无法分辨它的来源。