C# GZipStream

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

class Program
{
    static void Main()
    {
        try
        {
            // 1.Starting file is 26,747 bytes.
            string anyString = File.ReadAllText("TextFile1.txt");

            // 2.Output file is 7,388 bytes.
            CompressStringToFile("new.gz", anyString);
        }
        catch
        {
            // Couldn't compress.
        }
    }

    public static void CompressStringToFile(string fileName, string value)
    {
        // A.Write string to temporary file.
        string temp = Path.GetTempFileName();
        File.WriteAllText(temp, value);

        // B. Read file into byte array buffer.
        byte[] b;
        using (FileStream f = new FileStream(temp, FileMode.Open))
        {
            b = new byte[f.Length];
            f.Read(b, 0, (int)f.Length);
        }

        // C. Use GZipStream to write compressed bytes to target file.
        using (FileStream f2 = new FileStream(fileName, FileMode.Create))
        using (GZipStream gz = new GZipStream(f2, CompressionMode.Compress, false))
        {
            gz.Write(b, 0, b.Length);
        }
    }
}

form:http://www.dotnetperls.com/gzipstream
原文地址:https://www.cnblogs.com/zhangqs008/p/3059792.html