我什么时候应该在 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.
}
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.
}