シーケンス化と逆シーケンス化、およびなぜSerializableインタフェースを実装するか
7614 ワード
記憶力がいいなら筆頭を頼りにしたほうがいい......
Serializableインタフェースを実装する理由:Serializableインタフェースは、シーケンス化機能を有効にするインタフェースです.Javaを実装する.io.Serializableインタフェースのクラスはシーケンス化可能です.このインタフェースを実装していないクラスでは、いずれかのステータスをシーケンス化または逆シーケンス化することはできません.
シーケンス化:classファイルおよびコンテンツをストリームを介してファイルに書き込み(永続化とも呼ばれる)、逆シーケンス化:ファイルコンテンツを指定したclassクラスに変換し、読み込んだコンテンツを埋め込む
Serializableインタフェースを実装する理由:Serializableインタフェースは、シーケンス化機能を有効にするインタフェースです.Javaを実装する.io.Serializableインタフェースのクラスはシーケンス化可能です.このインタフェースを実装していないクラスでは、いずれかのステータスをシーケンス化または逆シーケンス化することはできません.
シーケンス化:classファイルおよびコンテンツをストリームを介してファイルに書き込み(永続化とも呼ばれる)、逆シーケンス化:ファイルコンテンツを指定したclassクラスに変換し、読み込んだコンテンツを埋め込む
-------------------------------------------------------------------------- --------------------------------------------------------------------------
package com.Ckinghan.objectStream;
import java.io.Serializable;
public class Persion implements Serializable{
/**
* ID
*/
private static final long serialVersionUID = 4914051092502785039L;
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public void name() {
}
@Override
public String toString() {
return "Persion [name=" + name + ", age=" + age + "]";
}
}
-------------------------------------------------------------------------- --------------------------------------------------------------------------
package com.Ckinghan.objectStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
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) {
/**
* ( , class )
*/
objectOutputStream();
/**
* ( class )
*/
objectInputStream();
}
/**
* @ : ( class )
* @ :
*/
public static void objectInputStream(){
//
ObjectInputStream objectInputStream = null;
try {
//
objectInputStream = new ObjectInputStream(new FileInputStream("persion.txt"));
/**
* , class
*/
Persion persion = (Persion)objectInputStream.readObject();
//
System.out.println(persion);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
//
if(objectInputStream != null){
try {
objectInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* @ : ( )
* @ :
*/
public static void objectOutputStream(){
//
ObjectOutputStream objectOutputStream = null;
try {
//
objectOutputStream = new ObjectOutputStream(new FileOutputStream("persion.txt"));
//
Persion persion = new Persion();
persion.setAge(20);
persion.setName(" ");
//
objectOutputStream.writeObject(persion);
//
System.out.println(" Persion ");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
//
if(objectOutputStream != null){
try {
objectOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
******************* :
Persion
Persion [name= , age=20]