CODEDRAGON ㆍDevelopment/Java
ObjectOutputStream (인스턴스 저장)
· ObjectOutput 인터페이스를 구현한 클래스로 객체를 파일에 기록 할수 있는 클래스입니다.
· 바이트출력 스트림과 연결되어 객체를 직렬화합니다.
· ObjectOutput 인터페이스는 writeObject(Object obj) 메서드를 포함하고 있는데 이 메서드가 객체의 데이터를 직렬화 시켜주는 메서드(직렬화 메서드)입니다.
· 만약 obj가 Serializable 인터페이스로 구현되어 있지 않다면 NotSerializableException 예외가 발생합니다.
· 직렬화된 데이터를 저장하는 파일 확장자는 serialization의 약자인 ".ser"로 설정하는것이 관례입니다.
public final void writeObject(Object obj) throws IOException{} |
Class ObjectOutputStream
https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutputStream.html
파일에 객체를 저장(직렬화)하는 경우
object.ser파일에 UserInfo클래스의 객체를 직렬화하여 저장하기
//object.ser파일에 저장하는 출력스트림(FileOutputStream)을 생성합니다. FileOutputStream fos = new FileOutputStream("object.ser"); //fos를 기반스트림으로 해서 ObjectOutputStream을 생성합니다. ObjectOutputStream oos = new ObjectOutputStream(fos); //ObjectOutputStream의 writeOject()메소드로 객체를 쓰면 객체가 파일에 직렬화되어 저장됩니다. oos.writeOject(new UserInfo()); |
'Development > Java' 카테고리의 다른 글
Serialization(직렬화) 조건 - Serialization 시 경고 메시지, serialVersionUID, serialVersionUID 명시적 지정, serialVersionUID 생성 (0) | 2017.10.26 |
---|---|
Serializable 인터페이스, transient (1) | 2017.10.26 |
Object Stream(오브젝트 스트림) (0) | 2017.10.26 |
문자열 기반 보조 스트림 (0) | 2017.10.25 |
Object Stream 주요 메소드, 직렬화 속도 (0) | 2017.10.25 |