Java—IO流 对象的序列化和反序列化
- 序列化的基本操作
1.对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化。
2.序列化流(ObjectOutputStream),writeObject 方法用于将对象写入输出流中;
反序列化流(ObjectInputStream),readObject 方法用于从输入流中读取对象。
3.序列化接口(Serializeable)
对象必须实现序列化接口,才能进行序列化,否则会出现异常。这个接口没有任何方法,只是一个标准。
package com.test.io; import java.io.FileInputStream; import java.io.FileOutputStream;import java.io.ObjectInputStream; import java.io.ObjectOutputStream; public class ObjectSerialzeTest { /** * 对象的序列化 * @param file * @throws Exception */ public void ObjectOutput (String file) throws Exception { ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file)); Student stu = new Student("002", "张四", 12); oos.writeObject(stu); oos.flush(); oos.close(); } /** * 对象的反序列化 * @param file * @throws Exception */ public void ObjectInput(String file) throws Exception { ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); Student stu = (Student)ois.readObject(); System.out.println(stu.toString()); ois.close(); } public static void main(String[] args) throws Exception { String file = "F:\\javaio\\obj.dat"; ObjectSerialzeTest ost = new ObjectSerialzeTest(); ost.ObjectOutput(file); ost.ObjectInput(file); } }
相关推荐
Lzs 2020-10-23
xclxcl 2020-08-03
zmzmmf 2020-08-03
葫芦小金刚 2020-07-22
ericdoug 2020-07-18
Erick 2020-06-17
aanndd 2020-06-16
Erick 2020-06-17
aanndd 2020-06-16
xuebingnan 2020-06-13
80337960 2020-06-10
Jerry 2020-06-01
mengdg000 2020-05-29
spring-data-redis RedisTemplate 操作redis时发现存储在redis中的key不是设置的string值,前面还多出了许多类似\xac\xed\x00\x05t\x00;
尹小鱼 2020-05-29
somebodyoneday 2020-05-15
visionzheng 2020-05-05
visionzheng 2020-05-04
igogo00 2020-05-03