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

Java-获取当前JAR中的文件名列表,java,jar,zip,iteration,directory,Java,Jar,Zip,Iteration,Directory,我需要在程序运行时获取程序JAR中特定文件夹中每个文件的文件名。有可能这样做吗?我不知道从哪里开始 它需要以编程方式完成,并且与平台无关。要列出jar文件的内容,只需运行: $jar tf MyJar.jar 您是否希望从java中以编程方式实现这一点 要以编程方式执行此操作,请参见示例。要列出jar文件的内容,只需运行: $jar tf MyJar.jar 您是否希望从java中以编程方式实现这一点 要以编程方式执行此操作,请参见示例。您要求的是一般情况下不可用的内容。类通过ClassLo

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


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

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

$jar tf MyJar.jar
您是否希望从java中以编程方式实现这一点


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

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

$jar tf MyJar.jar
您是否希望从java中以编程方式实现这一点


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

您要求的是一般情况下不可用的内容。类通过
ClassLoader
实例加载,这些实例可以从许多不同的地方(网络、jar文件、目录中的类文件,动态生成)获取类字节码

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

myObject.getClass().getClassLoader().getPackages()

它返回在调用点可用的包的列表。对于给定的软件包,您可能无法知道它来自何处。

您要求的是一般情况下无法提供的东西。类通过
ClassLoader
实例加载,这些实例可以从许多不同的地方(网络、jar文件、目录中的类文件,动态生成)获取类字节码

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

myObject.getClass().getClassLoader().getPackages()

它返回在调用点可用的包的列表。对于给定的包,您可能无法分辨它来自何处。

是的。我需要以编程方式和独立于平台的方式完成。这应该是一个注释,而不是答案。@Wild:您可以编辑您的问题以包含这些详细信息吗?您的示例似乎可以完成这项工作。是的。我需要以编程方式和独立于平台的方式进行。这应该是一个注释,而不是答案。@Wild:您可以编辑您的问题以包含这些详细信息吗?您的示例似乎可以完成这项工作。