从另一个 Java 程序将信息(和图像)写入 Jar 文件
Writing Information (and Image) to a Jar File from another Java Program
可能是重复的,虽然我对此表示怀疑,因为到目前为止我还没有看到任何完全符合我的标准以完成我的程序的东西
背景
我需要的是访问另一个 jar,从一个单独的 jar,读取文件并将文件写入该 jar。到目前为止,我所做的是将 jar 文件更改为 zip,然后我可以删除文件,但我遇到的问题是写回文件,特别是图像文件(.txt 工作得很好)
问题
如何从另一个 java 程序(最终生成另一个 jar)将图像文件写入 zip(最初是一个 jar)
备注
我环顾四周,大多数消息来源都说这是不可能的,但是那些问题是在程序的 运行 期间处理的,我的特殊情况是另一个程序不是 运行 , 但以文件格式。我想要做的就是写入图像并将其转换回 jar,最后 运行 那个 jar 没有任何问题。
谢谢!
使用FileSystems访问、写入和替换jar文件的内容:
try (FileSystem fs = FileSystems.newFileSystem(Paths.get("path/file.jar"), null)) {
Files.copy(Paths.get("path/to/image"), // path to an external image
fs.getPath("image.jpg"), // path inside a jar file
StandardCopyOption.REPLACE_EXISTING);
}
可能是重复的,虽然我对此表示怀疑,因为到目前为止我还没有看到任何完全符合我的标准以完成我的程序的东西
背景
我需要的是访问另一个 jar,从一个单独的 jar,读取文件并将文件写入该 jar。到目前为止,我所做的是将 jar 文件更改为 zip,然后我可以删除文件,但我遇到的问题是写回文件,特别是图像文件(.txt 工作得很好)
问题
如何从另一个 java 程序(最终生成另一个 jar)将图像文件写入 zip(最初是一个 jar)
备注
我环顾四周,大多数消息来源都说这是不可能的,但是那些问题是在程序的 运行 期间处理的,我的特殊情况是另一个程序不是 运行 , 但以文件格式。我想要做的就是写入图像并将其转换回 jar,最后 运行 那个 jar 没有任何问题。 谢谢!
使用FileSystems访问、写入和替换jar文件的内容:
try (FileSystem fs = FileSystems.newFileSystem(Paths.get("path/file.jar"), null)) {
Files.copy(Paths.get("path/to/image"), // path to an external image
fs.getPath("image.jpg"), // path inside a jar file
StandardCopyOption.REPLACE_EXISTING);
}