要在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
创建了一个压缩流,将内存流作为其参数。我们将数据写入内存流,然后读取内存流中的数据并输出压缩后的数据。