2017-01-16 72 views
0

我使用Launch4j生成.exe文件從我的罐子中讀取文件。 我用ZipInputStream來讀取之前我的.jar文件裏,但現在它不工作了(zip.getNextEntry()返回null)。Java的.exe程序

我發現的唯一的解決辦法是刪除.exe和使用一個Runnable罐子代替。它是唯一的解決方案嗎?

+2

您應該使用'Class.getResourceAsStream'加載資源。 – teppic

+0

不好意思讓我改述一下我的意思:如何瀏覽.exe裏面的文件來獲取他們的名字? – Lasbleis

+0

使用像[Reflections](https://github.com/ronmamo/reflections)這樣的圖書館來爲你完成繁重的工作。 – teppic

回答

1

爲什麼你會使用一個.exe文件?你一定要嗎?否則,只需提供一個執行java命令來啓動jar的.bat文件。

將這個成myapp.bat

開始javaw進程的罐子myapp.jar

看到Run .jar from batch-file

+0

其相當的aestetic目的:有我的應用程序自定義圖標和任務欄自定義的一個,因爲我的計劃是爲視頻遊戲 – Lasbleis

+0

可以AFAIK更改任務欄上的圖標,併爲您的.bat文件提供圖標太。見http://stackoverflow.com/questions/10575541/modifying-taskbar-icon-of-my-jar-program和一般你不想你的船Java應用程序的.exe文件,除非你提供你自己的JRE。否則,你仍然需要安裝java。 – Frieder

+0

如果你打算這樣做,我會考慮使用Java Web Start而不是bat文件。 http://stackoverflow.com/questions/1453369/i-have-never-seen-a-software-be-released-as-jar-so-how-can-i-make-a-software-be/1453477# 1453477 –