我知道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文件?
答案 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
这确实很好。至少在我的任务中。