摘要:在 C# 中,使用二进制流读取和写入文件通常涉及到 FileStream 类和 BinaryReader、BinaryWriter 类。FileStream 提供了对文件的直接访问,而 BinaryReader 和 BinaryWriter 是对二进制数据进行
在 C# 中,使用二进制流读取和写入文件通常涉及到 FileStream 类和 BinaryReader、BinaryWriter 类。FileStream 提供了对文件的直接访问,而 BinaryReader 和 BinaryWriter 是对二进制数据进行读写操作的封装。
要将数据以二进制格式写入文件,可以使用 FileStream 和 BinaryWriter 类。
using System;using System.IO;class Program{static void Main{string filePath = @"C:\Example\output.bin";// 创建文件并以写入模式打开using (FileStream fs = new FileStream(filePath, FileMode.Create))using (BinaryWriter writer = new BinaryWriter(fs)){// 写入各种数据类型writer.Write(123); // 写入整数writer.Write(3.14); // 写入浮动小数writer.Write("Hello, World!"); // 写入字符串}Console.WriteLine("Data written to file successfully.");}}要从文件中读取二进制数据,使用 FileStream 和 BinaryReader 类。
using System;using System.IO;class Program{static void Main{string filePath = @"C:\Example\output.bin";// 以读取模式打开文件using (FileStream fs = new FileStream(filePath, FileMode.Open))using (BinaryReader reader = new BinaryReader(fs)){// 读取各种数据类型int intValue = reader.ReadInt32; // 读取整数double doubleValue = reader.ReadDouble; // 读取浮动小数string stringValue = reader.ReadString; // 读取字符串Console.WriteLine($"Integer: {intValue}");Console.WriteLine($"Double: {doubleValue}");Console.WriteLine($"String: {stringValue}");}}}如果不需要使用 BinaryReader 或 BinaryWriter,你可以使用 FileStream 来直接读取和写入二进制数据。
using System;using System.IO;class Program{static void Main{string filePath = @"C:\Example\output.bin";byte data = { 0x01, 0x02, 0x03, 0x04 };// 创建文件并写入二进制数据using (FileStream fs = new FileStream(filePath, FileMode.Create)){fs.Write(data, 0, data.Length); // 写入字节数组}Console.WriteLine("Binary data written to file.");}}using System;using System.IO;class Program{static void Main{string filePath = @"C:\Example\output.bin";// 打开文件并读取数据using (FileStream fs = new FileStream(filePath, FileMode.Open)){byte buffer = new byte[fs.Length];fs.Read(buffer, 0, buffer.Length); // 读取数据到字节数组Console.WriteLine("Data read from file:");foreach (byte b in buffer){Console.WriteLine(b.ToString("X2")); // 输出十六进制数据}}}}using System;using System.IO;class Program{static void Main{string filePath = @"C:\Example\singleByte.bin";// 创建文件并以写入模式打开using (FileStream fs = new FileStream(filePath, FileMode.Create)){fs.WriteByte(0x01); // 写入单个字节}Console.WriteLine("Single byte written to file.");}}using System;using System.IO;class Program{static void Main{string filePath = @"C:\Example\singleByte.bin";// 以读取模式打开文件using (FileStream fs = new FileStream(filePath, FileMode.Open)){int byteValue = fs.ReadByte; // 读取单个字节Console.WriteLine($"Byte read from file: {byteValue:X2}");}}}来源:面试八股文
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!