*JAVA*

[java] ObjectInputStream / ObjectOutputStream

깐부로부터 2021. 11. 21. 16:25

객체 입출력 보조 스트림

 

객체단위를 파일에 출력하고자 할 때 필요한 보조스트림 

문자 입력/출력 스트림에는 사용할 수 없다.

 

ObjectInputStream ois = new ObjectInputStream(바이트입력스트림);

ObjectInputStream oos = new ObjectOutputStream(바이트출력스트림);

 

oos.writeObject(객체); //객체 출력

 

객체타입 변수 = (객체타입) ois.readObject(); //객체 입력

 

 

 

 

 

 

직렬화가 가능한 클래스(Serializable)

 

자바는 Serializable 인터페이스를 구현한 클래스만을 직렬화할 수 있도록 제한

; 직렬화란 클래스의 모든 필드들을 바이트스트림을 통해 출력시키기위한 일직렬로 byte화한 모양새이다.

ObjectOutputStream을 이용해서 출력한 파일을 열어보면 다깨져서 나온다.

 

writeObject()메소드를 사용해서 출력할 해당 클래스에 Serializable을 구현해야 깨지지 않고 출력 가능하다.

 

'*JAVA*' 카테고리의 다른 글

[java] 컬렉션 프레임웍 - LinkedList  (0) 2021.11.21
[java] 컬렉션 프레임웍 - ArrayList  (0) 2021.11.21
[java] StringBuffer, StringBuilder  (0) 2021.11.21
[java] StringTokenizer 클래스  (0) 2021.11.20
[java] Math 클래스  (0) 2021.11.20