知道.jar文件中有哪些方法

时间:2014-05-22 21:58:44

标签: java jar imagej medical

我知道ImageJ有一个插件可以处理NIfTI-1文件(http://rsb.info.nih.gov/ij/plugins/nifti.html)。

但该页面上的所有说明都是将ImageJ用作独立程序,但我使用的是API。我怎么知道这个jar文件中有哪些方法没有源

我找不到源代码。

对于imageJ(例如DICOM)中支持的存档非常简单:

public class ImageJTest {
    public static void main(){
                        String path = "res/vaca.dcm"; 
            FileInputStream fis;
            ImageView image;
            try {
                fis = new FileInputStream(path);
                DICOM d = new DICOM(fis);
                d.run(path);
                // Stretches the histogram because the pictures were being
                // displayed too dark.
                (new ij.plugin.ContrastEnhancer()).stretchHistogram(d, 0.1);
                Image picture = SwingFXUtils.toFXImage(d.getBufferedImage(),
                        null);
                // Makes the size standard for thumbnails
                image = new ImageView(picture);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
    }
}

如何在imageJ中加载NIfTI-1文件?

3 个答案:

答案 0 :(得分:3)

一旦你有了嵌入在jar文件中的类文件(正如@Alvin Thompson指出的那样,这些只是不同名称的zip文件),你可以使用反射API挖掘类文件来获取它们方法。从here

获得一个类的示例
Method[] methods = thisClass.getClass().getMethods(); // thisClass is an instance of the class you're working with

for(Method method : methods){
    System.out.println("method = " + method.getName());
}

答案 1 :(得分:2)

JAR文件只是花哨的ZIP文件。您可以将文件重命名为foo.zip,然后使用任何解压缩实用程序来展开其内容。您至少应该能够看到类文件是什么,并且javadoc可能与它捆绑在一起(这些天不太可能,但可能)。

但是,如果您只想知道可用的方法,可能最好的方法是在NetBeans,Eclipse或IntelliJ中将JAR添加到项目的类路径中,并使用它们的代码完成功能来确定API方法和类。

答案 2 :(得分:0)

你甚至可以对jar进行反编译,并使用反编译器查看每个类后面的代码。 我找到了一个好的:Java Decompiler JD-GUI主页:http://java.decompiler.free.fr

这确实很好。至少在我的任务中。