我有一個Java項目在eclipse,在我src文件夾中我有一個名爲「指令」包,並在包我有兩個文件的Java,Eclipse中,包和文件
- Settings.java
- SETTINGS.TXT
在Settings.java,我嘗試使用
BufferedReader br = new BufferedReader(new FileReader("Settings.txt"));
打開Settings.text但它說,塔沒有找到該文件。什麼是適當的路徑使用?
我有一個Java項目在eclipse,在我src文件夾中我有一個名爲「指令」包,並在包我有兩個文件的Java,Eclipse中,包和文件
在Settings.java,我嘗試使用
BufferedReader br = new BufferedReader(new FileReader("Settings.txt"));
打開Settings.text但它說,塔沒有找到該文件。什麼是適當的路徑使用?
您不應該使用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(..)
您應該設置到此文件夾的路徑,或將文件移動到您的項目目錄。 eclipse的默認路徑不是您的源文件文件夾,而是項目文件夾。
我做這樣的:\t \t \t的BufferedReader BR =新的BufferedReader(的getClass()的getResourceAsStream( 「SETTINGS.TXT」)); 和它給錯誤 – CodeGuy
@ reising1 - 看到我更新 – Bozho
但這是一個靜態方法和的getClass()是如果它是一個靜態方法會導致錯誤 – CodeGuy