繁体   English   中英

使用C#计算Zip文件中的文件数

[英]Count number of files in a Zip File with c#

我正在生成一些.csv文件,因此需要在Zip文件中对其进行压缩。 好的,我有一个框架可以做到这一点,也许一切都会好起来的。

但! 正如TDD所说,经过一些测试,我就可以编写代码!

我的第一个测试听起来很简单,但是在读取Zip文件时遇到了一些问题,有人知道一种简单的方法来计算zip文件中文件的数量吗?

您似乎正在寻找类似DotNetZip的东西。

编辑 :例如:

int count;
using (ZipFile zip = ZipFile.Read(path))
    count = zip.Count;

我不认为这是您提出的TDD问题,但我还是会回答。

[Test]
public void countsNumberOfFilesInZip() {
  var counter = new FileCounter("existing_archive_with_2_files.zip");
  AssertEqual(2, counter.count());
}

现在,使用您选择的库,使FileCounter工作。 一旦它起作用并且您通过了测试,则可以选择重构代码,以便它使用模拟框架模拟对zip库的调用。 现在,您不再依赖文件系统了。 (除非磁盘I / O大大降低了测试速度,否则我可能不会走得太远)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM