繁体   English   中英

在jar文件夹中创建文件

[英]Create File inside jar folder

我有一个jar文件abc.jar
它具有一些确定的代码,可在名为同一jar文件的temp的文件夹内创建文件。
喜欢

createFile()

现在,我想将abc.jar包含到我的另一个Web项目中。 哪个应调用此函数createFile()并相应地创建文件。
有什么办法可以在jar文件中创建文件。
我知道jar总是压缩和只读的。
但是仍然有相同的解决方法,这将对我有很大的帮助。
:)

为了读取 abc.jar的文件,可以使用ClassLoader.getResource() ,但是我不认为Java提供了类似的功能来将文件添加到jar中(出于安全目的)。

jar文件只是一个zip文件,因此,如果确实需要,可以将其解压缩到一个临时目录中,添加该文件,然后使用其中的新文件重新创建jar。 但是,我认为这不会达到您想要的效果-以这种方式添加到jar文件中的任何文件都无法用于您的运行代码,因为原始jar(未添加文件)已经加载。

您可以提取完整的Jar,将文件添加到提取的目录结构中,然后从目录结构中重新创建jar。

例如,您可以使用ZipInputStreamZipOutputStream来实现此目标。 此外,与ZipFileZipEntry相关的类可能会有所帮助。

据我所知,不可能直接添加文件。

看一下TrueVFS: http ://truevfs.net/(或其前身TrueZip https://christian-schlichtherle.bitbucket.io/truezip/ )。 它提供了对归档文件的虚拟文件系统访问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM