Java I/Oフロー操作(四)---オブジェクトの順序化

5523 ワード

まず、オブジェクトを順番に並べてSerializableインターフェースを実現しなければなりません。このようにしてこそ、オブジェクトをハードディスクに永続化して他の場所を取得することができます。
オブジェクトの順序付け操作は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
ObjectOutputStream  writeObject(Objectobj) 
ObjectInputStream  readObject() 
           :
publicstatic voidobjecSeri()throws Exception{
Object OutputStream oos=newObject OutputStream(
newFileOutputStream(「person.object」);
//personオブジェクトに書き込む
oos.writeObject(newPerson);
oos.close();
)
          :
 
  
Exception in thread "main" java.io.NotSerializableException: com.huaxia.day21.Person
at 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