2013-07-26 101 views
0

我在閱讀我的eclipse項目中的ascii文件。如何獲得File API來查看我的類路徑?

默認的輸出文件夾設置爲

my_proj/classes 

這是我的源路徑上,當我建立它進入我的classes目錄下。一切都好。但是,當我嘗試在我的代碼中獲得句柄時,它將無法工作,因爲該API會查看我的項目根目錄。不在我的課程目錄。

當我這樣做:

System.out.println("Current path is = " + new File(".").getAbsolutePath()); 

項目袋鼠回來不是我的類目錄。

因此,我不能得到我的文件的句柄。

我想只對類路徑和代碼文件把它撿起來

任何提示嗎?

+1

你不知道。您可以使用'Class#getResource(String)',其中'String'是您的資源相對於您所在類的包的路徑。您可以用'/'前綴該路徑以從類路徑的根開始相對於你所在班級的包裹而言。 –

回答

-1

您可以使用getClass().getClassLoader().getResource("Your_File")

,然後使用類似

File file=new File(url.toURI()); 

編輯:由Sotirios Delimanolisjb-nizet指出,如果「Your_File」不是文件系統上的文件,但內捆綁一個罐子,在這種情況下,你將不得不使用輸入流,getClass().getClassLoader().getResourceAsStream("Your_File")

+0

File API在這裏並不總是有效。使用'url.getInputStream()'。我沒有-1。 –

+0

第一部分是對的。第二部分只要資源在一個罐子裏就不會工作(即99.9%的時間)。使用'getResourceAsStream()'獲得可讀的流。 –

+0

修好了,謝謝指出。 – rocketboy