通过字节数组流进行的对象序列化操作
来源:互联网 发布:淘宝考试 编辑:程序博客网 时间:2024/05/29 04:13
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。
发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。
把Java对象转换为字节序列的过程称为对象的序列化。把字节序列恢复为Java对象的过程称为对象的反序列化。
对象的序列化主要有两种用途:
1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
2) 在网络上传送对象的字节序列。
序列化
public static byte[] serilizer(Object object){ //定义内存变量 ByteArrayOutputStream bos=new ByteArrayOutputStream(); try { ObjectOutputStream oos=new ObjectOutputStream(bos); oos.writeObject(object); oos.flush(); oos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return bos.toByteArray(); }
ByteArrayOutputStream可以捕获内存缓冲区的数据,转换成字节数组。作为输出目的地。正如注释中所说的在这里他就是起到获得内存对象的作用。
本方法将对象写入内存中,转换为内存中的字节数组,并通过return得到
反序列化
public static Object deserilizer(byte[] bytes){ //定义内存变量 Object obj=null; try { ByteArrayInputStream bis=new ByteArrayInputStream(bytes); ObjectInputStream ois=new ObjectInputStream(bis); obj=ois.readObject(); ois.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return obj; }
ByteArrayInputStream可以捕获内存缓冲区的数据,转换成字节数组。作为输入流来源。
0 0
- 通过字节数组流进行的对象序列化操作
- XStream 通过对象流进行对象与xml的序列化和反序列化
- 基于缓冲字节输入输出流进行复制文件的操作
- Java IO操作——字节流进行读写操作
- java-----IO流 操作字节数组的流对象,对象序列化,打印流,随机存储文件,合并流,管道流,操作基本数据类型的流对象
- 用于操作字节数组的流对象。
- [Java基础]用流进行byte字节流的读写
- Java之序列化Object对象和字节数组或文件之间的转换
- 字符串、字节数组、可序列化对象之间的相互转化
- java--io流-打印流,序列流,操作对象,管道流,RandomAccessFile,操作字节数组
- 操作对象数组 或数组 绑定后台序列化后的列表对象 将列表序列化成对象
- 心得---字节流、文件操作、对象序列化
- 用于操作字节数组的流对象 ByteArrayStreamDemo
- ByteArrayStream用于操作字节数组的流对象
- java通过网络获取从下位机获得的字节流进行包头判断遇到的问题
- 字节数组 与对象流操作
- Java对象序列化(对象->字节流)
- wireshark 编写lua插件,针对一般研发产出的tcp字节流进行解码
- scanf时清除缓冲区的方法
- Gulp实践
- 使用无连接的数据报(UDP)进行通信
- 文件,日期显示格式化 工具类
- SPFA 算法详解( 强大图解,不会都难!)
- 通过字节数组流进行的对象序列化操作
- eclipse里配置Android ndk环境,用eclipse编译.so文件(已验证)
- 不能将“this”指针从“const Vehicle”转换为“Vehicle &”
- 移动端轮播
- 百度百家:《京东物流开放》《内容创业从来就没有春天》
- 这是我在学习过程中的心得体会,希望自己变得更强
- 正则表达式中的基本正则规则详解01
- 时序图的组成
- 机器学习笔记五:广义线性模型(GLM)