【发布时间】:2011-10-14 10:57:18
【问题描述】:
我正在使用以下代码压缩文件,它工作正常,但是当我使用 WinRar 解压缩时,我得到没有扩展名的原始文件名,任何线索为什么如果文件名是 myReport.xls,当我解压缩时我只得到 myReport ?
using (var fs = new FileStream(fileName, FileMode.Open))
{
byte[] input = new byte[fs.Length];
fs.Read(input, 0, input.Length);
fs.Close();
using (var fsOutput = new FileStream(zipName, FileMode.Create, FileAccess.Write))
using(var zip = new GZipStream(fsOutput, CompressionMode.Compress))
{
zip.Write(input, 0, input.Length);
zip.Close();
fsOutput.Close();
}
}
【问题讨论】:
-
AFAIK GZip 不知道文件或文件夹... OTOH ZIP 与此非常不同,因为它具有所有这些,包括文件属性等。内置...也许您想使用 Zip图书馆?
-
IOW,GZip 是一种压缩格式,而 ZIP 是一种压缩存档格式。 (TAR 将是存档格式的一个示例。)
标签: c# .net compression gzipstream