1

我正在使用 DotNetZip。使用它来压缩 mp3 文件。

ZipFile zip = new ZipFile();
zip.Password = "123";
zip.AddFile("R:\\abc\\a\\a 2 z.mp3");
zip.Save("R:\\abc\\a\\aaa.zip");

提取 aaa.zip 后,我得到一个损坏的 mp3 文件。原来有 3.62MB 时有 3.31MB 数据。如何解决这个问题?任何帮助表示赞赏。

4

2 回答 2

2

该文档在此处说明:

请注意,ZipFile 类实现了 IDisposable 接口。为了让 ZipFile 生成一个有效的 zip 文件,您可以在 using 子句中使用它(在 VB 中使用),或者显式调用 Dispose() 方法。请参阅示例以了解如何使用 using 子句。

因此,尝试将您的代码包装在一个using块中:

using (ZipFile zip = new ZipFile())
{
   zip.Password = "123";
   zip.AddFile("R:\\abc\\a\\a 2 z.mp3");
   zip.Save("R:\\abc\\a\\aaa.zip");
}

Save另请参阅文档页面上的各种示例。

于 2012-12-09T14:18:23.720 回答
0

这个问题真的是未知数。该问题仅发生在该指定文件上。我尝试了其他文件,没有发现任何问题。感谢你们。

于 2012-12-09T16:40:44.177 回答