2011-08-07 47 views
0

我有一個Java項目在eclipse,在我src文件夾中我有一個名爲「指令」包,並在包我有兩個文件的Java,Eclipse中,包和文件

  1. Settings.java
  2. SETTINGS.TXT

在Settings.java,我嘗試使用

BufferedReader br = new BufferedReader(new FileReader("Settings.txt")); 

打開Settings.text但它說,塔沒有找到該文件。什麼是適當的路徑使用?

回答

2

您不應該使用FileReader。使用Class.getResourceAsStream()

FileReader需要絕對路徑或相對路徑到用戶主文件夾。除此之外,它不會加載(jar)檔案中的文件。

getResourceAsStream()在類路徑中查找。路徑可以是相對於當前類或絕對

Reader reader = 
     new InputStreamReader(getClass().getResourceAsStream("Settings.txt"), "UTF-8") 
BufferedReader bufferedReader = new BufferedReader(reader); 

(如果該方法是靜態的(從classpath的根目錄開始),你可以調用使用類文本 - YourClass.class.getResourceAsStream(..)

+0

我做這樣的:\t \t \t的BufferedReader BR =新的BufferedReader(的getClass()的getResourceAsStream( 「SETTINGS.TXT」)); 和它給錯誤 – CodeGuy

+0

@ reising1 - 看到我更新 – Bozho

+0

但這是一個靜態方法和的getClass()是如果它是一個靜態方法會導致錯誤 – CodeGuy

0

您應該設置到此文件夾的路徑,或將文件移動到您的項目目錄。 eclipse的默認路徑不是您的源文件文件夾,而是項目文件夾。