温馨提示×

C#压缩内存流怎样实现

c#
小樊
103
2024-07-11 09:41:30
栏目: 编程语言

要在C#中压缩内存流,可以使用 System.IO.Compression 命名空间中的类来实现。以下是一个示例代码,演示了如何将数据写入内存流并对其进行压缩:

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

class Program
{
    static void Main()
    {
        // 创建一个内存流
        using (MemoryStream memoryStream = new MemoryStream())
        {
            // 创建一个压缩流,并将内存流作为其参数
            using (GZipStream gzipStream = new GZipStream(memoryStream, CompressionMode.Compress))
            {
                // 写入数据到内存流
                byte[] data = System.Text.Encoding.UTF8.GetBytes("Hello, world!");
                gzipStream.Write(data, 0, data.Length);
            }

            // 读取压缩后的数据
            byte[] compressedData = memoryStream.ToArray();

            // 输出压缩后的数据
            Console.WriteLine("Compressed data: " + Convert.ToBase64String(compressedData));
        }
    }
}

在上面的示例中,我们使用 MemoryStream 创建了一个内存流,并使用 GZipStream 创建了一个压缩流,将内存流作为其参数。我们将数据写入内存流,然后读取内存流中的数据并输出压缩后的数据。

0