0
我想在Eclipse中打開一個ZipFile,即在從Eclipse導出項目後的.jar中。這是我寫的代碼:試圖在jar中訪問ZipFile時出現FileNotFoundException
String modpath = "/ModByDNSYeti.zip";
URL url = this.getClass().getResource(modpath);
ZipFile newTextures = new ZipFile(url.toString());
如果我執行的罐子,我得到一個
FileNotFoundException異常:文件: 「路徑」
其中 「路徑」 是確切的ZipFile所在的路徑。它在那裏。到現在爲止我檢查了一次,但我無法弄清楚該怎麼做。從Eclipse啓動程序時出現同樣的錯誤。谷歌也沒有讓我到任何地方。
問候 DNSYeti
感謝您的解答,但我有一個後續問題: – DNSYeti 2013-05-01 16:13:11
在該方法的其餘部分,兩個ZipFiles合併爲一個ZipOutputStream。我可以簡單地用ZipInputStream替換ZipFiles中的一個,但這會導致另一個問題:我想讓ZipInputStream覆蓋由ZipFile放入ZipOutputStream的任何Entrys。由於我實際上無法刪除ZipOutputStream中的任何項目,因此我必須檢查覆蓋ZipFile是否包含該文件,如果存在,請不要讓被覆蓋的ZipFile將其放入流中。當覆蓋File是ZipInputStream時,這不起作用。 – DNSYeti 2013-05-01 16:13:39
如果你需要隨機訪問zip,ZipInputStream確實不是很有幫助。在這種情況下,您可能會考慮不要將.zip文件放入.jar文件,而是將它們與.jar本身一起運輸。或者,您可以基本上將.zip從.jar複製到臨時文件,然後使用「ZipFile(String)」進行隨機訪問。 – Marco 2013-05-01 16:27:05