java - 如何在 Java 中将文件追加到 .tar 存档中?

标签 java apache compression archive tar

我想用 Java 创建一个 tar 存档。我有不断创建的文件,我希望工作线程从队列中引用这些文件并将它们复制到存档中。

我尝试使用 Apache 压缩库的 TarArchiveOutputStream 来执行此操作,但我不希望在程序的整个持续时间内保持存档打开(因为除非我最终确定存档,否则它可能会损坏 - 所以我宁愿附加批量添加到它),并且我还没有找到一种好方法将其库附加到现有的 tar 存档(他们确实有“ChangeSetPerformer”类,但它基本上只是创建一个新的 tar 并且需要复制旧的 tar完全如此,这对我来说不太好,从性能角度来说)。

我还需要库对存档的大小没有下限(即 4g 左右是不够的),并且我宁愿避免实际压缩存档。

如有任何建议,我们将不胜感激! 谢谢。

最佳答案

您在此处运行的 tar 限制为:http://en.wikipedia.org/wiki/Tar_(file_format)#Random_access

因此,在不复制整个存档的情况下很难添加或删除单个文件。

关于java - 如何在 Java 中将文件追加到 .tar 存档中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9770492/

相关文章:

java - 使用 IE8 浏览器在 jboss 部署的应用程序出现 ClientAbortException

java - 应该以静态方式访问静态字段

PHP shell_exec 停止工作

c++ - 算术编码器符号查找

C++/C多线程同时读取gz文件

java - 无法解析 REST Web 服务中的 JSON

java - Elasticsearch索引创建异常

php.ini 不允许我禁用_functions

apache - 模组安全 : SecRule REQUEST_METHOD "!^OPTIONS$" "t:none"

c# - zlib 的 gzip 压缩和 .NET 的 GZipStream 使用的压缩有什么区别?