是否有任何用于版本4.0的内置类/示例来压缩目录中的特定文件?我在MSDN上找到了一个使用压缩类的示例,但它仅适用于4.5及更高版本.
Son*_*nül 10
您可以使用包含.NET Framework 4的类GZipStream和DeflateStream类.
How to: Compress Files从MSDN 检查.
使用System.IO.Compression.GZipStream类来压缩和解压缩数据.您还可以使用System.IO.Compression.DeflateStream类,该类使用相同的压缩算法; 但是,可以使用许多常用的压缩工具解压缩写入扩展名为.gz的文件的压缩GZipStream对象.
这里的一个例子:
FileStream sourceFileStream = File.OpenRead("sitemap.xml");
FileStream destFileStream = File.Create("sitemap.xml.gz");
GZipStream compressingStream = new GZipStream(destFileStream,
CompressionMode.Compress);
byte[] bytes = new byte[2048];
int bytesRead;
while ((bytesRead = sourceFileStream.Read(bytes, 0, bytes.Length)) != 0)
{
compressingStream.Write(bytes, 0, bytesRead);
}
sourceFileStream.Close();
compressingStream.Close();
destFileStream.Close();
Run Code Online (Sandbox Code Playgroud)
FileStream sourceFileStream = File.OpenRead("sitemap.xml.gz");
FileStream destFileStream = File.Create("sitemap.xml");
GZipStream decompressingStream = new GZipStream(sourceFileStream,
CompressionMode.Decompress);
int byteRead;
while((byteRead = decompressingStream.ReadByte()) != -1)
{
destFileStream.WriteByte((byte)byteRead);
}
decompressingStream.Close();
sourceFileStream.Close();
destFileStream.Close();
Run Code Online (Sandbox Code Playgroud)
多年来我做了很多文件压缩工作,到目前为止我发现最好的选择是使用 DotNetZip
GZipStream比BCL 的其他产品更好。它具有友好的 API 并提供重要的功能。
| 归档时间: |
|
| 查看次数: |
33164 次 |
| 最近记录: |