2014-05-22 65 views
1

我知道有一個ImageJ插件處理NIfTI-1文件(http://rsb.info.nih.gov/ij/plugins/nifti.html)。知道什麼方法在.jar文件

但是該頁面上的所有說明都是使用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

一旦擁有了嵌入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()); 
} 
2

JAR文件只是看中的ZIP文件。您可以將該文件重命名爲foo.zip,然後使用任何解壓縮實用程序來擴展其內容。你應該至少能夠看到類文件是什麼,並且javadoc可能與它捆綁在一起(現在不太可能,但可能)。但是,如果您只想知道可用的方法,最好的方法是將JAR添加到NetBeans,Eclipse或IntelliJ中項目的類路徑中,並使用它們的代碼完成功能找出API方法和類。

0

你可以做的罐子甚至反編譯,看到是使用反編譯每個類後面的代碼。 我發現的不錯的一個:Java反編譯器 JD-GUI主頁:http://java.decompiler.free.fr

它確實很好,它的工作。至少在我的任務中。

+0

Erreur 403 - Refuter de traitement de larequête(Interdit - Forbidden) – Mansueli

+0

你也可以從這裏得到它。 http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/JD-GUI.shtml – simion

相關問題