您当前的位置:首页 > 计算机 > 编程开发 > .net

c#压缩和解压缩文件

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

在 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 格式的压缩文件。如果要处理其他压缩格式的文件,需要使用相应的压缩类来进行操作。

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