2015-08-16 48 views
0

在Eclipse中的窗口,當我運行如何獲得在Eclipse中的Eclipse和Linux中的類文件的路徑?

public class HelloWorld { 
    public static void main(String[] args) { 
     System.out.println(System.getProperty("user.dir")); 
    } 
} 

它給我的項目的根文件夾的路徑(其中包含有類文件的bin文件夾)。例如

SampleProject

和類文件實際上位於

SampleProject\bin\myclass.class

但是,如果我在linux與

javac myclass.java 
java myclass 

運行同一程序它給我的目錄它具有.class文件,這與pwd命令相同。這是我在eclipse中想要的窗口。我想要一些代碼,這些代碼可以在eclipse中爲windows和linux提供類文件的路徑。

有誰知道這是怎麼回事?

感謝

回答

2

如果我理解正確的話,你想檢索磁盤上的一個類的路徑的方法。這是容易實現的,就像這樣:

public String getClassPath(Class c) { 
    try { 
     return c.getProtectionDomain().getCodeSource().getLocation().toURI().getPath(); 
    } catch (URISyntaxException e) { 
     e.printStackTrace(); 
    } 
    return null; 
} 

注意這甚至會工作,如果類包含在一個jar文件。在這種情況下它將返回jar的路徑。

+0

您的參數使用其他名稱,'class'將無法編譯。 –

+0

@Mathias,我總是忘記'class'是一個特殊的關鍵字。我通常做小寫對象名稱。謝謝,趕上! – MeetTitan

0

最簡單的方法是做到這一點:

public class HelloWorld { 
    public static void main(String[] args) { 
     System.out.println(HelloWorld.class.getResource("HelloWorld.class")); 
    } 
} 
相關問題