对象序列化ObjectOutputStream,ObjectInputStream
2013-11-22 08:55
579 查看
int---->4 byte 流
long---->8 byte 流
String 5个字符(GBK编码)----->10 byte 流
Object---->n byte 流
1.ObjectOutputStream,ObjectInputStream
readObject
writeObject(obj)
long---->8 byte 流
String 5个字符(GBK编码)----->10 byte 流
Object---->n byte 流
1.ObjectOutputStream,ObjectInputStream
readObject
writeObject(obj)
package ObjectStreamDemo; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; public class ObjectStreamDemo { public static void main(String[] args) throws IOException, ClassNotFoundException { ByteArrayOutputStream out=new ByteArrayOutputStream(); ObjectOutputStream os=new ObjectOutputStream(out); Foo user=new Foo(5, "lirui"); os.writeObject(user); os.close(); byte[] bt=out.toByteArray(); String str=ToHexStringFromByte(bt); System.out.println(str); ObjectInputStream is=new ObjectInputStream(new ByteArrayInputStream(bt)); Object man=is.readObject(); if(man instanceof Foo){ Foo foo=(Foo)man; System.out.println(foo.id+" "+foo.name); } } private static String ToHexStringFromByte(byte[] bt) { StringBuilder str=new StringBuilder(); for (byte b : bt) { int data=0xff&b; str.append(Integer.toHexString(data)+" "); } return str.toString(); } }
package ObjectStreamDemo; import java.io.Serializable; @SuppressWarnings("serial") public class Foo implements Serializable{//要求必须实现序列化接口 int id; String name; public Foo(int id, String name) { super(); this.id = id; this.name = name; } }
相关文章推荐
- Socket同时使用ObjectInputStream和ObjectOutputStream传输序列化对象时的顺序
- ObjectInputStream 和 ObjectOutputStream(对象的序列化、持久化)
- 对象序列化到本地文件 ObjectOutputstream ObjcetInputstream
- 对象输入输出流ObjectInputStream、ObjectOutputStream(对象序列化与反序列化)
- (JAVA)从零开始之--对象输入输出流ObjectInputStream、ObjectOutputStream(对象序列化与反序列化)
- IO流反序列化(objectInputStream)和序列化(ObjectOutputStream)连续存储对象StreamCorruptedException
- java语言编程IO流之对象序列化和ObjectInputStream与ObjectOutputStream
- 使用对象输入输出流(ObjectOutputStream,ObjectInputStream)实现序列化对象的深度克隆
- Socket同时使用ObjectInputStream和ObjectOutputStream传输序列化对象时的顺序
- Java对象序列化ObjectOutputStream和ObjectInputStream示例
- 对象序列化 ObjectInputStream ObjectOutputStream
- Socket同时使用ObjectInputStream和ObjectOutputStream传输序列化对象时的顺序
- Java对象序列化ObjectOutputStream和ObjectInputStream示例
- Java基础之对象的序列化(持久化)操作对象ObjectInputStream/ObjectOutputStream
- Java对象序列化ObjectOutputStream和ObjectInputStream示例
- Java IO--对象序列化Serializable、ObjectOutputStream、ObjectInputStream、transient
- 对象流(ObjectOutputStream 和 ObjectInputStream)
- java IO笔记(序列化与ObjectInputStream、ObjectOutputStream)
- Java IO之对象的序列化、ObjectInputStream和ObjectOutputStream类
- 不常用的 IO 流对象:ObjectInputStream/ObjectOutputStream