linux - 如何在不提取整个文件的情况下更改存档 (.ear) 文件中的文件

标签 linux file archive binaryfiles ear

我有一个 .ear 文件(一个存档文件,如 tar/zip),其中有一个我想更改的文件。

例如 myfile.ear 包含 1.txt 并且我想将 1.txt 更改为 2.txt 并且可能还会更改 1.txt 中的一些内容(就像 sed 所做的那样)

我真的想避免必须提取 myfile.ear、更改文件并再次压缩它。

有谁知道在 linux 中实现这个的方法吗?

如果不可能,我也想知道为什么

谢谢。

最佳答案

EAR 文件只是 JAR 文件,而 JAR 文件只是 ZIP 文件。 ZIP 格式 IIRC 包含交错的元数据和数据,因此更改一个文件(可能比它正在替换的文件更大/更小)可能不适合(或留下间隙),因此在所有实际情况下必须重写文件进行修改时。

关于linux - 如何在不提取整个文件的情况下更改存档 (.ear) 文件中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6334037/

相关文章:

c - 在 OpenGL C Linux 中移动特定对象

java - 是否可以限制 GlassFish(或底层 jvm 机器)中的端口号保留范围?

oracle - 如何获取 blob 文件名或扩展名

ruby-on-rails - "Archive" rails 上的 table

linux - 关于多个su的说明

linux - 是否可以获取我的用户 ID 登录的系统列表

java - 使用java删除文件

java - Properties.contains() 的意外输出

mysql - 拥有可以访问的存档的最佳方式

ios - 应用构建未出现在 TestFlight 中