要在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
創建了一個壓縮流,將內存流作為其參數。我們將數據寫入內存流,然后讀取內存流中的數據并輸出壓縮后的數據。