zoukankan      html  css  js  c++  java
  • C#读取二进制字节流

    1、以下方法将一个对象序列化为可以在数据库中存储的字节数组
    private byte[] getByteData(SupplementData data)
      {
       BinaryFormatter serializer =new BinaryFormatter();
       MemoryStream memStream =new MemoryStream();
       serializer.Serialize(memStream,data);
       int length = (int)memStream.Length;
       byte[] buffer = new byte[length];
       memStream.Position = 0;
       memStream.Read(buffer,0,length);
       return buffer;
      }
    调用方法得到字节数组后给参数赋值:
    oCommand.Parameters[5].Value =getByteData(OldData);
    2、以上是关于序列化后的字节数组的存储,那读取呢?

      private SupplementData GetHistoryData(string Track_UUID)
      {
       //根据ID得到一笔记录,GetTable是本人系统中的特定方法
       DataTable table = GetTable("LIC_DATA_TRACK","TRACK_UUID",Track_UUID,out sErrorMsg);

       BinaryFormatter deserializer =new BinaryFormatter();
       MemoryStream stream =new MemoryStream();
       //将得到的记录中的某个Bolb类型的数据读出来存储到数据流中
       byte[] objBytes =(byte[])table.Rows[0]["HistoryData"];
     
      stream.Write(objBytes,0,objBytes.Length);
       stream.Position = 0;
       //字节流反序列化后,返回对象SupplementData(本人定义的一个对象)
       return (SupplementData)deserializer.Deserialize(stream);
      }


  • 相关阅读:
    CentOS重置Mysql密码
    2017年2月21日20:35:46
    UEFI+GPT安装windows
    CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置
    CentOS利用nginx和php-fpm搭建owncloud私有云
    Docker安装CentOS
    CoreOS和Docker入门
    Docker命令学习
    CentOS安装Redis详细教程
    Redis的三种启动方式
  • 原文地址:https://www.cnblogs.com/Bluer/p/983224.html
Copyright © 2011-2022 走看看