2013-04-17 286 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