2025年4月21日 星期一 乙巳(蛇)年 正月廿二 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > .net

c#压缩和解压缩文件

时间:12-03来源:作者:点击数:29

在 C# 中,可以使用 System.IO.Compression 命名空间中的类来进行文件压缩和解压缩操作。具体来说,可以使用 GZipStream 和 DeflateStream 类来进行压缩和解压缩操作。

以下是一个简单的示例,演示如何使用 GZipStream 来压缩文件:

  • using System;
  • using System.IO;
  • using System.IO.Compression;
  • public static void CompressFile(string sourceFile, string destinationFile)
  • {
  • using (FileStream sourceStream = new FileStream(sourceFile, FileMode.Open))
  • {
  • using (FileStream destinationStream = new FileStream(destinationFile, FileMode.Create))
  • {
  • using (GZipStream compressionStream = new GZipStream(destinationStream, CompressionMode.Compress))
  • {
  • sourceStream.CopyTo(compressionStream);
  • }
  • }
  • }
  • }

上述代码中,我们首先创建了一个名为 CompressFile 的静态方法,该方法接受两个参数:源文件的路径和目标文件的路径。接下来,我们使用 FileStream 类创建一个源文件流和一个目标文件流。然后,我们使用 GZipStream 类创建一个压缩流,该流将压缩数据写入目标文件流中。最后,我们将源文件流复制到压缩流中,从而将数据压缩并写入目标文件流中。

下面是一个类似的示例,演示如何使用 GZipStream 类来解压缩文件:

  • using System;
  • using System.IO;
  • using System.IO.Compression;
  • public static void DecompressFile(string sourceFile, string destinationFile)
  • {
  • using (FileStream sourceStream = new FileStream(sourceFile, FileMode.Open))
  • {
  • using (FileStream destinationStream = new FileStream(destinationFile, FileMode.Create))
  • {
  • using (GZipStream decompressionStream = new GZipStream(sourceStream, CompressionMode.Decompress))
  • {
  • decompressionStream.CopyTo(destinationStream);
  • }
  • }
  • }
  • }

上述代码中,我们创建了一个名为 DecompressFile 的静态方法,该方法接受两个参数:源文件的路径和目标文件的路径。接下来,我们使用 FileStream 类创建一个源文件流和一个目标文件流。然后,我们使用 GZipStream 类创建一个解压缩流,该流将从源文件流中读取压缩数据并将其写入目标文件流中。最后,我们将解压缩流复制到目标文件流中,从而将数据解压缩并写入目标文件流中。

需要注意的是,以上代码示例仅适用于 GZip 格式的压缩文件。如果要处理其他压缩格式的文件,需要使用相应的压缩类来进行操作。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门