我想用 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/