Object Stream
Object Stream
- 메모리상에 존재하는 객체를 송수신할 수 있는 필터 스트림이다
- 필터 스트림이므로 기본 스트림이 필요하다
객체 직렬화
- 메모리상에 존재하는 객체를 출력할 수 있는 형태로 만드는 것을 가리켜 직렬화라고 부른다
- 직렬화 하지 않은 객체를 스트림을 통해 입출력 할 수 없다
- 자바에서는 직렬화 하기 위해 Serialzable이라는 인터페이스를 구현하면 된다
ObjectStreamTest1.java
----------------------------------------------
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
try {
TestClass t = new TestClass( );
t.a = 100;
t.b = 200;
FileOutputStream fos = new FileOutputStream("c:\\test\\d.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writerObject(t);
oos.flush( ):
oos.close( );
fos.close( );
FileInputStream fis = new FIleInputStream("c:\\test\\d.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
TestClass t2 = (TestClass)ois.readObject( );
System.out.println(t2.a);
System.out.println(t2.b);
t2.sayHi( );
}catch(Exception e) { }
class TestClass implements Serializable {
int a;
int b;
public void sayHi( ) {
System.out.println("안녕하세요");
}
}
----------------------------------------------
Console
----------------------------------------------
100
200
안녕하세요
----------------------------------------------