2015-06-28 187 views
-3

我需要編寫一個程序,要求輸入數字文本文件的文件名,然後根據此數據集計算平均值,中位數等。我編寫了程序,以便在輸入完整路徑(如「C:\ Users \ COSC \ Documents \ inputValues2.txt」)時正確運行,但只要輸入inputValues2.txt,它就不會運行。我一直在研究這兩者之間的差異,但我不完全理解如何解決這個問題。既然它運行正常,否則,我不相信這是代碼的問題,但我是新手,所以我可能是錯的。Java中的相對/絕對路徑

+4

請發佈您的程序代碼,以便我們能夠更好地爲您提供幫助。 – JackWhiteIII

+1

希望在[本示例](http://stackoverflow.com/a/11372350/1057230)中的註釋能夠說明主題 –

回答

1

您的程序需要知道完整路徑才能找到該文件。它不只是在您的計算機上搜索文件「inputValues2.txt」。它需要知道如何到達那裏。如果你願意,你可以將文件移動到你的項目文件夾中,然後你就可以編寫「inputValues2.txt」來訪問它。我通常創建一個名爲在我的項目文件夾「資源」文件夾中,然後讓說,我想創建一個圖像:

Image i = new Image("res/img.png"); 
+0

,所以有什麼方法可以解決這個問題?還是必須始終提供完整的路徑? – coscdummy

+1

查看編輯@coscdummy –

+1

謝謝,謝謝!我將該文件保存在我的項目文件夾中,現在只需輸入inputValues2.txt即可正確運行!如果這是一個愚蠢的問題,我很抱歉。 – coscdummy

-1

你的文件應該是在類路徑。這與您的主類所在的目錄位於同一目錄中。

建議的做法是將其放置在類路徑中的Resources目錄中,然後您可以通過"Resources/inputValues2.txt"訪問它。

+2

@Downvoter關注意見。 – Mordechai

+0

不是downvoter,但請注意OP說「請求文件名」,這意味着該文件在構建時不知道。另外,你可能需要你的資源,就像你的代碼一樣,以避免出現nameclash。 –