当前位置:  开发笔记 > 编程语言 > 正文

序列化字节数组与XML文件

如何解决《序列化字节数组与XML文件》经验,为你挑选了1个好方法。

我大量使用字节数组来传输对象,原始数据,通过网络和返回.我通过一个类型实现ISerializable来适应java的方法,它包含两个方法,作为接口的一部分,ReadObjectData和WriteObjectData.使用此接口的任何类都会将日期写入字节数组.像那样的东西

  class SerializationType:ISerializable
    {
       void ReadObjectData (/*Type that manages the write/reads into the byte array*/){}
       void WriteObjectData(/*Type that manages the write/reads into the byte array*/){}  
    }

写完所有对象后,我发送一个网络数组.


这实际上是双重问题.这是通过网络以最高效率(速度,大小)发送数据的正确方法吗?

您是否会使用此方法将对象写入文件,而不是通常使用xml序列化?

编辑#1

Joel Coehoorn提到了BinaryFormatter.我从未使用过这门课.除了我目前在msdn上看到的内容之外,你会详细说明,提供好的例子,参考资料,建议,当前的做法吗?



1> Joel Coehoor..:

这应该没问题,但你正在做已经完成的工作.看看System.Runtime.Serialization.Formatters.Binary.BinaryFormatter课程.

不需要为每种特定类型实现自己的Read/WriteOjbectData()方法,您只需使用已经可以处理大多数任何对象的类.它基本上需要几乎任何.Net对象的内存表示的精确副本,并将其写入流或从流中读取它:

BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(outputStream, objectToSerialize);

objectToDeserialize = bf.Deserialize(inputStream) as DeserializedType;

确保阅读链接文档:unicode字符串可能存在问题,并且确切的内存表示并不总是合适的(例如,打开套接字等).

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有