C# gzip流處理的最佳方案

c#
小樊
100
2024-06-24 11:43:27

在C#中處理gzip流的最佳方案是使用System.IO.Compression命名空間中的GZipStream類。這個(gè)類允許你壓縮和解壓縮數(shù)據(jù)流,使處理gzip流變得非常簡(jiǎn)單。

以下是一個(gè)簡(jiǎn)單的示例代碼,演示如何使用GZipStream類壓縮和解壓縮數(shù)據(jù)流:

using System;
using System.IO;
using System.IO.Compression;

public class GZipExample
{
    public static void Compress(string inputFile, string compressedFile)
    {
        using (FileStream input = File.OpenRead(inputFile))
        {
            using (FileStream output = File.Create(compressedFile))
            {
                using (GZipStream gzip = new GZipStream(output, CompressionMode.Compress))
                {
                    input.CopyTo(gzip);
                }
            }
        }
    }

    public static void Decompress(string compressedFile, string outputFile)
    {
        using (FileStream input = File.OpenRead(compressedFile))
        {
            using (FileStream output = File.Create(outputFile))
            {
                using (GZipStream gzip = new GZipStream(input, CompressionMode.Decompress))
                {
                    gzip.CopyTo(output);
                }
            }
        }
    }

    public static void Main()
    {
        Compress("input.txt", "compressed.gz");
        Decompress("compressed.gz", "output.txt");
    }
}

在這個(gè)示例代碼中,Compress方法用于壓縮一個(gè)文件并將壓縮后的數(shù)據(jù)寫入到一個(gè)新的文件中,而Decompress方法用于解壓縮一個(gè)文件并將解壓后的數(shù)據(jù)寫入到另一個(gè)新文件中。

你可以根據(jù)需要調(diào)整這些方法,以滿足你的具體需求。希望這個(gè)示例能幫助你開(kāi)始處理gzip流的工作。

0