ObjectInputStream (인스턴스 복원), 파일에서 객체를 읽기(역직렬화)하는 경우

CODEDRAGON Development/Java

반응형

 

 

ObjectInputStream (인스턴스 복원)

·       ObjectInput 인터페이스를 구현한 클래스로 직렬화된 객체를 읽어올 수 있는 클래스

·       ObjectInput 인터페이스는 readObject() 메서드를 포함하고 있는데 이 메서드는 객체의 데이터를 복원 시켜주는 기능(역 직렬화 메서드)을 제공합니다.

 

public final Object readObject( ) throws IOException, ClassNotFoundException{}

 

 


 

 

 

Class ObjectInputStream

https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInputStream.html

 

 


 

파일에서 객체를 읽기(역직렬화)하는 경우

object.ser파일에 저장된 객체 정보를 읽어와 UserInfo클래스의 객체로 역직렬화하여 저장하기

//역직렬화시 object.ser파일을 통해 입력스트림(FileInputStream) 생성합니다.

FileInputStream fis = new FileInputStream("object.ser");

//fis 기반스트림으로 해서 ObjectIutputStream 생성합니다.

ObjectIutputStream ois = new ObjectIutputStream(fis);

//ObjectIutputStream readObject()메소드로 저장된 데이터를 읽어와 객체에 다시 저장(역직력화)합니다.

//readObject()메소드는 반환타입이 Object이기 때문에 객체의 원래 타입으로 형변환 주어야 합니다.

UserInfo userInfo = (UserInfo)ois.readObject();

 

 

반응형