在C#中部分压缩文件

时间:2012-02-02 16:19:33

标签: c# .net zip

我正在寻找一些可以帮助我理解如何在C#中压缩文件的示例,即如果我有20MB的zip存档,我想将存档拆分为 4MB的5MB 每。

我已经完成了Stack overflow question,然后我甚至查看了DotNetZip图书馆的文档,但我找不到任何这样的例子。

有人可以建议吗?感谢,

我正在寻找的是当我拥有这4个文件时,我可以将它们提取到原始文件中。因此,每个单独的部分可能不是一个合适的拉链,但所有4个部分都应该正确提取

2 个答案:

答案 0 :(得分:2)

你的意思是说ZIP文件在压缩后分成多个文件,这意味着你必须重新组合这两个部分以获得有效的ZIP吗?

您可以使用7Zip完成此操作。以下是使用UI进行操作的说明。他们还提供an API来自动完成任务。

http://www.linglom.com/2008/10/12/how-to-split-a-large-file-using-7-zip/

您也可以将文件读取为二进制数据,然后使用您自己的约定将其写入单独的文件,例如my.zip.part1of3,my.zip.part2of3,my.zip.part3of3等。准备好后,重新组合部分并解压缩。如果您这样做,重新组装零件的人将需要您的自定义实用程序。

答案 1 :(得分:1)

您可以尝试ICSharpCode压缩文件。文件为zip后,您可以使用FileStream将文件保存为小块。我在我的一个项目中做过这个。如果您需要任何帮助,请告诉我。