可能是重复的,尽管我对此表示怀疑,因为到目前为止我还没有看到任何东西可以完全完成我的程序,因此完全可以满足我的要求

背景

我需要的是从一个单独的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);
}

08-25 08:29
查看更多