我什么时候应该在 ZipOutputStream (SharpZipLib) 上调用 Finish

When should I call Finish on the ZipOutputStream (SharpZipLib)

SharpZipLib 是 Java 库的 .Net 实现,用于处理档案。它提供了 ZipOutputStream class,它派生自 DeflaterOutputStream 并具有 Finish() 方法。在文档 here 中指出 Finish() 方法“将在 zip 文件末尾写入中央目录并刷新流”并且它“在流关闭时自动调用”。 所以我想知道如果我仍然调用 Close() 是否应该调用 Finish() 方法。

更新:这个问题应该用另一种方式陈述:如果我可以调用 Dispose() 或 Close() 来完成这项工作(包括调用 Finish() 方法),我为什么要使用 Finish() 方法?

来自 ZipOutputStream - Finish() 的文档:

This is automatically called when the stream is closed.

至于关闭,ZipOutputStream需要妥善处理。无需调用 Close 方法。

using (var zip = new ZipOutputStream(new FileStream("some path", FileMode.OpenOrCreate)))
{
    // add some files.
   
}