C# 的 BinaryReader
類本身并不能直接處理壓縮文件。但是,你可以使用 System.IO.Compression
命名空間中的類來處理壓縮文件。以下是一個簡單的示例,展示了如何使用 BinaryReader
和 GZipStream
讀取壓縮文件的內容:
using System;
using System.IO;
using System.IO.Compression;
class Program
{
static void Main()
{
// 壓縮文件的路徑
string compressedFilePath = "compressedFile.gz";
// 使用 File.ReadAllBytes 讀取壓縮文件內容到字節數組
byte[] compressedFileBytes = File.ReadAllBytes(compressedFilePath);
// 使用 MemoryStream 創建一個內存流
using (MemoryStream memoryStream = new MemoryStream(compressedFileBytes))
{
// 使用 GZipStream 解壓縮數據
using (GZipStream gzipStream = new GZipStream(memoryStream, CompressionMode.Decompress))
{
// 使用 BinaryReader 讀取解壓縮后的數據
using (BinaryReader binaryReader = new BinaryReader(gzipStream))
{
// 讀取解壓縮后的數據
byte[] decompressedData = binaryReader.ReadBytes((int)memoryStream.Length);
// 處理解壓縮后的數據
Console.WriteLine("Decompressed data: " + BitConverter.ToString(decompressedData).Replace("-", ""));
}
}
}
}
}
這個示例首先讀取壓縮文件的內容到字節數組,然后使用 MemoryStream
創建一個內存流。接下來,使用 GZipStream
解壓縮數據,最后使用 BinaryReader
讀取解壓縮后的數據。