[英]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。
例如,您可以使用ZipInputStream和ZipOutputStream来实现此目标。 此外,与ZipFile和ZipEntry相关的类可能会有所帮助。
据我所知,不可能直接添加文件。
看一下TrueVFS: http ://truevfs.net/(或其前身TrueZip https://christian-schlichtherle.bitbucket.io/truezip/ )。 它提供了对归档文件的虚拟文件系统访问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.