zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    }
  • 相关阅读:
    如何掌握所有的程序语言
    Excel技巧:如何绘制一份优秀的甘特图(项目管理)
    Excel技巧:如何绘制一份优秀的甘特图(项目管理)
    程序员的鄙视链
    程序员的鄙视链
    程序员的鄙视链
    程序员之间的鄙视链
    炮(棋盘DP)
    最长公共子上升序列
    black hack
  • 原文地址:https://www.cnblogs.com/wintertone/p/11638045.html
Copyright © 2011-2022 走看看