Java I/Oフロー操作(四)---オブジェクトの順序化
5523 ワード
まず、オブジェクトを順番に並べてSerializableインターフェースを実現しなければなりません。このようにしてこそ、オブジェクトをハードディスクに永続化して他の場所を取得することができます。
オブジェクトの順序付け操作はObject OutputStreamとObject InputStreamの2つのオブジェクトに使用する必要があります。
Object OutputStream
(
OutputStream
out)
Object OutputStreamを作成し、オブジェクトをOutputStreamに出力するストリームを書き込みます。
オブジェクトの順序付け操作はObject OutputStreamとObject InputStreamの2つのオブジェクトに使用する必要があります。
Object OutputStream
(
OutputStream
out)
Object OutputStreamを作成し、オブジェクトをOutputStreamに出力するストリームを書き込みます。
ObjectOutputStream :
java.lang.Object
java.io.OutputStream
java.io.ObjectOutputStream
ObjectInputStream :
java.lang.Object java.io.InputStream java.io.ObjectInputStream
publicstatic voidobjecSeri()throws Exception{ObjectOutputStream writeObject(Objectobj) ObjectInputStream readObject() :
Object OutputStream oos=newObject OutputStream(
newFileOutputStream(「person.object」);
//personオブジェクトに書き込む
oos.writeObject(newPerson);
oos.close();
):
Exception in thread "main" java.io.NotSerializableException: com.huaxia.day21.Personat java.io.ObjectOutputStream.writeObject0(Unknown Source)at java.io.ObjectOutputStream.writeObject(Unknown Source)at com.huaxia.day21.ObjectSerializable.objetcSeri(ObjectSerializable.java:15)at com.huaxia.day21.ObjectSerializable.main(ObjectSerializable.java:9)Person Serializable
person.obejct
:
ObjectInputStream ?
public static void readObject() throws Exception {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("person.object"));
Person person = (Person)ois.readObject();
System.out.println(person);
}
:name:johnny age:21 country:CHINA
Serializable API
: serialVersionUID , serialVersionUID
. serialVersionUID , serialVersionUID ,
, A , A , A,
java.io.InvalidClassException , A id ,
A id . serialVersionUID ,
private .
: Person :
:
public static void readObject()throws Exception{
Object InputStream oes=new Object InputStream(new FileInputStream);
Person person=(Person)oid.readObject()
System.out.println(person)
):Exception in thread "main" java.io.InvalidClassException: com.huaxia.day21.Person; local class incompatible:
stream classdesc serialVersionUID = -379036032685453711,
local class serialVersionUID = 1208026685571330753
: Serializable , serialVersionUID
: http://blog.csdn.net/johnny901114/article/details/8710341