我使用下面提到的代码来压缩文件夹中的文件。
static void ZipFolder(string folderPath, string zippedPath)
{
string[] filenames = Directory.GetFiles(folderPath);
using (ZipOutputStream s = new ZipOutputStream(File.Create(zippedPath)))
{
s.SetLevel(9); // 0 - store only to 9 - means best compression
byte[] buffer = new byte[4096];
foreach (string file in filenames)
{
ZipEntry entry = new ZipEntry(Path.GetFileName(file));
entry.DateTime = DateTime.Now;
s.PutNextEntry(entry);
using (FileStream fs = File.OpenRead(file))
{
int sourceBytes;
do
{
sourceBytes = fs.Read(buffer, 0, buffer.Length);
s.Write(buffer, 0, sourceBytes);
} while (sourceBytes > 0);
}
}
s.Finish();
s.Close();
}
压缩后,当我尝试解压缩/解压缩文件夹时,它给出了WinZip 16.5的错误说明:
文件“13019_div.html”的中央和本地目录不匹配(通用标志 - 本地:0 hex hex:8 hex)
严重错误:本地和中央GPFlags值不匹配。
请帮忙。我做错了什么?