在C#中获取java包的可用函数/方法

我想知道是否可以从C#获取java包中的类,函数/方法。 假设我有一个包含SampleClass的java包p。 我想从C#中检查这个包,以便我可以获得SampleClass。 我不想在C#中使用这个类,实际上我只想获得可用类和函数的名称。

希望这是可能的!

谢谢

假设你安装了JDK,你可以使用’jar -tf jarName.jar’来获取类的列表,然后你可以解析它们。

要获取有关特定类的更多信息,可以使用命令行’javap’实用程序打印出所有方法和字段的列表。 这是一种相当容易解析的格式。 例如:

javap -classpath . com.prosc.io.ZipCreator Compiled from "ZipCreator.java" public class com.prosc.io.ZipCreator extends java.lang.Object{ public com.prosc.io.ZipCreator(); public java.lang.Integer getLevel(); public void setLevel(java.lang.Integer); public void createZip(java.io.File, java.io.File) throws java.io.IOException; public void createZip(java.io.File, java.util.zip.ZipOutputStream) throws java.io.IOException; public void setMaximumZipSize(long); static {}; } 

如果你问的是Jar文件。 它只是一个zip文件。

您可以将文件夹和文件映射到类名:“/ java /lang/Object.class” – >“java.lang.Object”。

在这篇文章中,您可以阅读有关在c#中列出.zip文件夹内容的信息。

这种方法的优点是您不必担心安装JDK,但如果您正在计划任何复杂的方法,例如我将寻求@Jesse Barnum提出的解决方案的方法列表。