• C#二进制文件的读写


      System.IO提供了BinaryReader和BinaryWriter类,用于按二进制模式读写文件。他们提供的一些读写方法是对称的,比如针对不同的数据结构,BinaryReader提供了ReadByte、ReadBoolean、ReadInt、ReadInt16、ReadDouble、ReadString等方法,而BinaryWriter则提供了WriteByte、WriteBoolean、WriteInt、WriteInt16、WriteDouble、WriteString方法。

      【例】将内存中随机产生的二进制数据写入文件,并验证写入数据是否正确。

      

    using System;
    using System.IO;
    
    namespace BinaryRW
    {
        class Program
        {
            static void Main(string[] args)
            {
                int i = 0;
                //创建随机数据写入流
                byte[] writeArray = new byte[1000];
                new Random().NextBytes(writeArray);
                BinaryWriter binWriter = new BinaryWriter(new MemoryStream());
                BinaryReader binReader = new BinaryReader(binWriter.BaseStream);
                try
                {
                    //将数据写入流
                    Console.WriteLine("正在写数据…");
                    for (i = 0; i < writeArray.Length; i++)
                    {
                        binWriter.Write(writeArray[i]);
                    }
                    //流定位到开始位置
                    binReader.BaseStream.Position = 0;
                    //读取流中的数据
                    for (i = 0; i < writeArray.Length; i++)
                    {
                        if (binReader.ReadByte() != writeArray[i])
                        {
                            Console.WriteLine("写数据错");
                            return;
                        }
                    }
                    Console.WriteLine("数据已写入");
                }
                //捕获EndOfStreamException 异常,输出错误信息
                catch (EndOfStreamException e)
                {
                    Console.WriteLine("写数据出错
    {0}", e.GetType().Name);
                }
    
                Console.ReadLine();
            }
        }
    }
  • 相关阅读:
    设计模式---工厂模式和抽象工厂模式
    设计模式---简单工厂模式
    设计模式---设计模式的分类及六大原则
    分布式---Raft算法
    分布式---Paxos算法
    分布式---CAP和BASE理论
    分布式---分布式事务
    分布式---分布式锁
    css
    react生命周期
  • 原文地址:https://www.cnblogs.com/wintertone/p/11638045.html
Copyright © 2020-2023  润新知