2012-05-13 84 views
0

什麼是擴展java.io.Reader類的輸入的默認文件夾?例如,「data.txt」應該位於FileReader的調用中,如下所示?什麼是擴展java.io.Reader的類的默認文件夾,爲什麼?

FileReader fr = new FileReader("data.txt"); 

在一個項目中,我目前的工作(其中我使用Eclipse和它的標準項目的目錄結構)的情況下,它似乎是在bin文件夾。但是邏輯在哪裏,是不是該文件夾應該包含.class-files和類似的不接觸編譯器輸出?

這裏的標準做法是什麼,它真的把包含輸入數據的文件夾放在bin /?

回答

0

在當前工作目錄中找到該文件,這是您在啓動應用程序時所處的目錄。

+0

Eclipse爲我啓動它,所以我猜你必須仔細閱讀它是如何做到的。 – andreasdr

+0

默認的當前工作目錄是從IDE啓動它時的bin文件夾,除非你喜歡使用類似於啓動文件夾的參數。需要思考的是,你是否希望代碼能夠從不同的地方讀取該文件,而不是部署該文件。如果你不這樣做,你應該做的是獲得你的應用程序的路徑,並且不依賴於當前的工作文件夾。 –

+0

@TonyHopkinson當我從我的IDE啓動我的應用程序時,當前工作目錄是項目目錄,而不是bin目錄。 – EJP

-1

它沒有放在bin文件夾中,它將它放在與需要它的應用程序相同的文件夾中。

文件名中沒有路徑,所以這意味着它與應用程序位於同一文件夾中。如果你想把它放在那裏,並改變路徑。

例如應用程序文件夾「數據\ DATA.TXT」

或者所有的應用程序「.. \ DATA \ Data.Text」

不管你做兄弟的數據文件夾下的數據文件夾,不要硬代碼絕對路徑,儘管如此,它總是必須部署到相同的文件夾結構。

+0

'這意味着它與應用程序在同一個文件夾中。'不,它不。 – EJP

+0

在OP問題的背景下,我並不認爲啓動文件夾/當前工作目錄是特別相關的,看他們是否使用該設施,問題不會被問到嗎? –

+0

它不僅相關而且正確。 '與應用程序相同的文件夾'既不是。 – EJP