用Java编写未知(大)大小的Tar文件

Mik*_*eed 14 java tar

我想用Java中的tar文件写一个未知大小的大流.我知道Apache有公共压缩库处理tar文件,但它们需要我提前知道大小.考虑Apache自己的例子:

TarArchiveEntry entry = new TarArchiveEntry(name);
entry.setSize(size);
tarOutput.putArchiveEntry(entry);
tarOutput.write(contentOfEntry);
tarOutput.closeArchiveEntry();
Run Code Online (Sandbox Code Playgroud)

我写完之后会知道条目的大小,但不是之前.有没有办法我可以写内容,当我完成大小然后写入标题?

Mik*_*eed 1

我最终采用了jtar并对其进行了修改,这样您就不必在编写之前指定大小。似乎没有一个包可以本地执行此操作...我设置了一个请求此更改的问题。不幸的是,它需要大量丑陋的代码并创建我自己的 RandomAccessFileInputStream(),这不适合上传补丁。