我有一個Java桌面應用程序,我在我拉上分發給學生的NetBeans開發。這裏面的zip文件我有的.jar,包含擺動佈局罐子「lib」目錄和目錄我名爲包含所需的所有程序中的文本文件「sourcefiles」。打開文件,而不是當前工作目錄
所有工作正常,如果jar文件被雙擊,但是從命令行(java -jar MyApp.jar
)運行時,它只能找到「sourcefiles」目錄,如果你第一次到該目錄的文件在運行命令之前,有些學生會忘記做的事情。顯然,沒有辦法從我的代碼中改變當前的工作目錄。以「sourcefiles」的路徑在我的代碼爲相對路徑給出,假設我在MyApp的文件夾。那麼我該怎麼做才能讓程序可以從命令行運行,而不必將cd包含到包含目錄中?有什麼需要將其添加到清單文件?
這個問題可以通過使用Linux的學生大多是面對,但它是在Mac上一樣。我認爲它在Windows上是一樣的,但我猜想沒有一個Windows的學生從命令行運行它。
如何訪問你的資源,你的代碼? – Dici 2014-09-01 14:22:09
BufferedReader f = new BufferedReader(new InputStreamReader(new FileInputStream(filename),「UTF-8」));其中filename是相對路徑:sourcefiles/xxxxx。運行程序的jar文件,java庫和sourcefiles文件夾都在一個文件夾中,然後我將其壓縮以發送給學生。我不希望jar包含源文件,因爲它們是可能被程序修改的資源。除了命令行之外,此路徑似乎適用於所有內容。 (這些是人文學生,比其他人更懂技術。) – Numa 2014-09-05 09:43:54