序列化对象
来源:互联网 发布:淘宝睡衣退款率 编辑:程序博客网 时间:2024/05/22 05:14
当我们需要通过Socket通信发送对象,发送类是DataTable表的时候,我们通常需要将这个对象先序列化,然后转换层自己数组在通过socket.Send()方法发送,然后再接受端进行反序列化获取该对象
public class SerializeObj
{
public SerializeObj()
{ }
/// <summary>
/// 序列化对象到字节组
/// </summary>
/// <param name="obj">泛型对象</param>
/// <returns>序列化后的字节数组</returns>
public static byte[]Serialize<T>(T obj)
{
try
{
IFormatter formatter = new BinaryFormatter();
MemoryStream stream = new MemoryStream();
formatter.Serialize(stream, obj);
stream.Position = 0;
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length);
stream.Flush();
stream.Close();
return buffer;
}
catch (Exception ex)
{
throw new Exception("序列化失败,原因:" + ex.Message);
}
}
/// <summary>
/// 反序列化 字符串到对象
/// </summary>
/// <param name="buffer">要转换为对象的字节数组</param>
/// <returns>反序列化出来的对象</returns>
public static T Desrialize<T>(byte[] buffer)
{
try
{
T obj = default(T);
IFormatter formatter = new BinaryFormatter();
MemoryStream stream = new MemoryStream(buffer);
obj = (T)formatter.Deserialize(stream);
stream.Flush();
stream.Close();
return obj;
}
catch (Exception ex)
{
throw new Exception("反序列化失败,原因:" + ex.Message);
}
}
- Java对象序列化
- 对象序列化
- Java对象序列化
- 对象序列化笔记
- 对象的序列化
- 对象序列化
- 对象序列化
- Java对象序列化
- Java对象序列化
- java对象序列化
- Java 对象序列化
- 对象的序列化
- 序列化ArcEngine对象
- 对象序列化
- Java 对象序列化
- Java对象序列化
- 序列化对象传输
- 序列化对象
- div中id与class的区别
- Android 从硬件到应用:一步一步向上爬 3 -- 硬件抽象层访问硬件驱动
- 为什么ubuntu中没有inittab文件
- 一些有用的实例
- Java中的参数传递方式
- 序列化对象
- C 语言程序设计实践 7.9 汉诺塔
- Python学习计划
- HTML:target=
- APP接口简介---PHP开发APP接口
- AFNetworking
- 1412091645-hd-ZOJ
- python2.x学习小记
- 【BZOJ】【P1334】【Baltic2008】【Elect】【题解】【DP】