我有一個文本文件text.txt位於類輸出根目錄。java.io.FileNotFoundException問題
當我使用新的文件(「text.txt」)時,我收到了java.io.FileNotFoundException。
我的輸出結構喜歡
com
mycompany
test.class
text.txt
任何錯事,如何解決?
我有一個文本文件text.txt位於類輸出根目錄。java.io.FileNotFoundException問題
當我使用新的文件(「text.txt」)時,我收到了java.io.FileNotFoundException。
我的輸出結構喜歡
com
mycompany
test.class
text.txt
任何錯事,如何解決?
如果您沒有給出文件的絕對位置,它會從您啓動程序的位置(您的工作目錄)進行搜索。因此,請在與該文件相同的目錄中啓動您的應用程序,或將該文件移動到您啓動的位置。
如果你想不過來讀取相對於你的類路徑中一個文件,你需要做這樣的事情...
reader = new BufferedReader(new InputStreamReader(
getClass().getClassLoader().getResourceAsStream("test.txt")));
new File("text.txt")
是相對於你的工作目錄。您可以使用this.getClass().getResourceAsStream("text.txt")
從類路徑加載文件。
我如何知道我的工作目錄? – user496949 2011-03-05 02:31:07
你在另一個評論中說你正在使用Eclipse。您可以在啓動配置對話框的參數選項卡中設置工作目錄。 – 2011-03-05 02:36:18
是的,只是想知道哪些可用來設置工作目錄。 – user496949 2011-03-05 02:41:16
它將使用當前工作目錄。從Java文檔(http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html#File%28java.lang.String%29):
默認情況下,java.io包中的類總是針對當前用戶目錄解析相對路徑名。該目錄由系統屬性user.dir命名,通常是調用Java虛擬機的目錄。
我在eclipse裏面啓動,但是如果使用相對路徑,仍然不知道把這個文件放在哪裏。 – user496949 2011-03-05 02:30:46
您可以在參數選項卡下的項目運行屬性中給出工作目錄。默認值是根項目文件夾。 – 2011-03-05 02:33:20
你是對的!謝謝。順便說一句,如何給工作目錄參數,它是project_path? – user496949 2011-03-05 02:39:30