我有一個應用程序必須從文本文件中讀取(使用FileInputStream)。文本文件位於相對於類文件的目錄結構中(例如「../textdir/text.txt」)。當我正常運行它(即在cp中指定包含.class文件的/ bin文件夾)時,一切正常。然而,我不知何故需要將所有東西都打包成一個jar文件,而當我運行這個jar文件時什麼都行不通該錯誤類似於「FileNotFOund:MyJar.jar!/textdir/text.txt」。我在jar文件上運行jar -tvf,並且文本文件確實在裏面。我已閱讀但未寫入對源代碼的訪問權限。在Jar中查找文本文件
不止是試圖解決我的問題(我認爲有很多解決方法),有人可以向我解釋整個事情是如何工作的嗎?該jar如何搜索文件?如果我想從命令提示符的當前工作目錄讀取而不是在jar文件中的.class目錄,該怎麼辦?另外,當我將非jar項目轉換爲jar時,我最近也遇到了類似的加載資源問題,這是如何工作的?
相關問題:http://stackoverflow.com/questions/574809/java-load-a-resource-contained-in-a-jar – 2009-09-21 22:29:08