본문 바로가기

Java

직렬화

반응형

직렬화

인스턴스 상태를 그대로 저장 or 네트워크로 전송 후에 복원

직렬화 사용을 위해 마크인터페이스 해야 함
implements Serializable

이를테면 파일에 한글자씩 혹은 문자열로 정보를 저장시키는 것이 아니고 인스턴스 자체를 파일에 저장하였다가 인스턴스 채로 뽑아오는 작업



class Person implements Serializable{

String name;
Person(String s) {
 this.name = s;
}
}
Person lee = new Person(“김유신”);
Person kim = new Person(“강감찬”);

FileOutputStream fos =new FileOutputStream(“serial.dat”);

한뒤에 바로 Object를 쓸수는 없으므로 보조스트림으로 싸줘야됨

ObjectOutputStream oos = ObjectOutputStream(fos);

oos.write(lee);
oos.write(kim);

FileInputStream fis =new FileInputStream(“serial.dat”);

ObjectInputStream ois = ObjectInputStream(fis);

한뒤에

Person p1 = (Person) ois.readObject();
Person p2 = (Person) ois.readObject();

이렇게 읽어줄 수 있고 각 작업은 예외처리 필수

반응형

'Java' 카테고리의 다른 글

데코레이터 패턴  (0) 2019.11.08
RandomAcessFile  (0) 2019.11.08
FileInputStream && FileOutputStream  (0) 2019.11.05
입출력 스트림  (0) 2019.11.05
자바 연습 (스트림)  (0) 2019.11.04