JAvaのシーケンス化と逆シーケンス化
1459 ワード
JAvaのシーケンス化と逆シーケンス化
シーケンス化されたオブジェクトがこの2つの方法を実装すると、オブジェクトはより繊細なシーケンス化をサポートします.
package com.wansha;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class MySerializable{
public static void main(String[] args) throws Exception{
Person person = new Person(20,"zhangshan","hubei,jingmen");
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("123.txt"));
oos.writeObject(person);
oos.close();
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("123.txt"));
Person person2 = (Person)ois.readObject();
System.out.println(person2.age);
oos.close();
}
}
/**
*
*
* @author sharp
*
* , ,
* Serializable ,
* NotSerializableException
*
*/
class Person implements Serializable{
public int age;
private transient String name;
private static String address; //transient static
public Person(int age, String name, String address) {
super();
this.age = age;
this.name = name;
this.address = address;
}
}
シーケンス化されたオブジェクトがこの2つの方法を実装すると、オブジェクトはより繊細なシーケンス化をサポートします.
private void writeObject(java.io.ObjectOutputStream out)
throws IOException
private void readObject(java.io.ObjectInputStream in)
throws IOException, ClassNotFoundException;