返回

c#压缩和解压缩文件

2023-04-05 c# c#压缩文件 c#解压缩文件 900 0

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

您可能感兴趣:

阿里云 云服务器 99元1年 2核2G 3M固定带宽 续费与新购同价

DOVE 网络加速器免费试用

顶部