2013-04-17 86 views
2

內部文件我有abc.jar
一個jar文件具有一定的代碼來創建一個名爲同一個JAR文件的臨時文件夾內的文件。
創建罐子文件夾

createFile() 

現在我想包括abc.jar到我的其他Web項目。哪個應該調用這個函數createFile()並相應地創建文件。
那麼,有沒有方法來創建JAR文件中的文件。
我知道關於罐子它總是被壓縮和只讀。
但仍然有相同的工作,對我來說會很有幫助。
:)

+0

什麼應用程序的功能是你要提供應用程序的用戶? –

回答

0

您可以提取完整的罐,將文件添加到壓縮的目錄結構並重新創建罐子出來的目錄結構。

您可以使用ZipInputStreamZipOutputStream例如,以實現這一目標。此外,與ZipFileZipEntry有關的課程可以提供幫助。

直接添加一個文件是不可能的,因爲據我所知。

1

對於閱讀一個文件,是在,您可以使用ClassLoader.getResource(),但我不認爲Java提供了一種添加文件到JAR(出於安全目的)類似的設施。

一個JAR文件僅僅是一個zip文件,所以如果你真的需要,您可以將其未壓縮到一個臨時目錄,添加文件,然後重新創建一個有新文件的罐子。不過,我認爲這不會達到你要尋找的效果 - 你添加任何文件到jar文件以這種方式將不會提供給你的運行代碼,因爲原來的罐子(沒有添加的文件)已經加載。

+0

jar文件是一個zip文件,而不是tar文件。其內容具有指定的格式。詳情請參閱http://en.wikipedia.org/wiki/JAR_(file_format)。 WAR,EAR和Apache AAR和MAR文件也是ZIP文件,具有自己的刻板格式。 –

+0

好點!編輯我的話 – Tom