c#

c# binaryreader如何处理二进制流

小樊
82
2024-11-24 17:44:58
栏目: 编程语言

在C#中,BinaryReader 类用于从二进制流中读取数据。要使用 BinaryReader,首先需要创建一个实例,然后使用其方法来读取不同类型的数据。以下是一个简单的示例,说明如何使用 BinaryReader 处理二进制流:

using System;
using System.IO;

class Program
{
    static void Main()
    {
        // 创建一个文件流,用于读取二进制数据
        using (FileStream fileStream = new FileStream("example.bin", FileMode.Open, FileAccess.Read))
        {
            // 创建一个 BinaryReader 实例,用于读取文件流中的数据
            using (BinaryReader binaryReader = new BinaryReader(fileStream))
            {
                // 读取整数
                int integerValue = binaryReader.ReadInt32();
                Console.WriteLine("Integer value: " + integerValue);

                // 读取浮点数
                float floatValue = binaryReader.ReadSingle();
                Console.WriteLine("Float value: " + floatValue);

                // 读取字符串(假设字符串长度为固定值)
                int stringLength = binaryReader.ReadInt32();
                byte[] stringBytes = binaryReader.ReadBytes(stringLength);
                string stringValue = Encoding.UTF8.GetString(stringBytes);
                Console.WriteLine("String value: " + stringValue);

                // 读取布尔值
                bool boolValue = binaryReader.ReadBoolean();
                Console.WriteLine("Boolean value: " + boolValue);
            }
        }
    }
}

在这个示例中,我们首先打开一个名为 example.bin 的文件,并使用 FileStream 创建一个二进制流。然后,我们创建一个 BinaryReader 实例,并使用其方法读取整数、浮点数、字符串和布尔值。注意,在读取字符串之前,我们需要先读取字符串的长度,然后根据长度读取字符串的字节数据。最后,我们将字节数据转换为字符串。

这只是一个简单的示例,BinaryReader 还提供了许多其他方法,可以用于读取其他数据类型和自定义数据结构。要了解更多关于 BinaryReader 的信息,请参阅 官方文档

0
看了该问题的人还看了