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 = https://www.yisu.com/ask/binaryReader.ReadBytes((int)memoryStream.Length);"Decompressed data: " + BitConverter.ToString(decompressedData).Replace("-", "")); } } } } }
这个示例首先读取压缩文件的内容到字节数组,然后使用 MemoryStream
创建一个内存流。接下来,使用 GZipStream
解压缩数据,最后使用 BinaryReader
读取解压缩后的数据。