IOのObjcetストリーム

1558 ワード


よし、この流れもおもしろい...
一般的ではないインタフェース、Externalizableを挙げます.readExternalには2つの方法があります.writeExternal..制御可能なシーケンス化を実現するため、もちろんSerializable(メソッドは含まれていないので、書き換える必要はありません.soはタグ性のあるインタフェースであり、コンパイラによって識別されます)は制御不能であり、システムによって制御されていますが、システムによって制御されたほうがいい、理由でしょう.はっきり言えない、ちょっと深い
 
 
package heng.java.IO5;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
/**
 *  , 
 * @author haley
 *
 */
public class TestObjectIO {

	public static void main(String[] args) {
		T t = new T();
		t.k = 8;
		try {
			FileOutputStream fos = new FileOutputStream("e:\\Order\\TCPTwoTalkClient.java");
			ObjectOutputStream oos = new ObjectOutputStream(fos);
			oos.writeObject(t);
			oos.flush();
			oos.close();
			
			FileInputStream fis = new FileInputStream("e:\\Order\\TCPTwoTalkClient.java");
			ObjectInputStream ois = new ObjectInputStream(fis);
			T tReaded = (T)ois.readObject();
			System.out.println(tReaded.i + " "+tReaded.j + " " +tReaded.d + " "+tReaded.k);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
class T implements Serializable {// , , 
	int i = 10;
	int j = 9;
	double d = 2.3;
	transient int  k = 15;// , k 
}