20 May 2020

java.io 패키지 클래스 구조와 스트림에 대한 이해

java.io 패키지 클래스 구조


javaIOClassStructure


Streams에 대한 간략한 설명


Java는 입출력을 Streams을 통해 수행합니다. Streams은 ‘연속적인 데이터의 흐름’입니다. 실제로 물리적으로는 java io 시스템상에서 연결되어 있고 java.io패키지로 캡슐화를 해놓았습니다. 그래서 개발자는 실제 물리적인 연결을 알지는 못해도 코드로 쉽게 입출력을 구현할 수 있습니다.

Byte Stream / Character Stream


Streams은 크게 Byte Stream과 Character Stream으로 나뉩니다. Byte Stream은 byte데이터의 입출력을 다룰 수 있고 Character Stream은 오직 문자의 입출력을 다룰 수 있습니다. Character Stream은 유니코드를 사용하기 때문에 언어의 제약 없이 사용할 수 있습니다.

Byte Stream

Byte Stream은 java.io패키지에 있는 클래스 다이어그램에서 InputStream와 OutputStream으로 묶여진 클래스들이 담당합니다.

이 클래스들이 가지는 메소드중에서 가장 중요한 메소드는 read()와 write()입니다. 최상단 추상클래스인 InputStream은 read()메소드를 선언하고 OutputStream이 write()메소드를 선언합니다.

  • read() - 데이터의 바이트를 입력받습니다.

  • write() - 데이터의 바이트를 출력합니다.

Character Stream

Character Stream은 java.io패키지에 있는 클래스 다이어그램에서 Reader와 Writer로 묶여진 클래스들이 담당합니다.

이 클래스들이 가지는 메소드중에서 가장 중요한 메소드는 read()와 write(), close()입니다. 최상단 추상클래스인 InputStream은 read(), close()메소드를 선언하고 OutputStream이 write(), close()메소드를 선언합니다.


Tags:
0 comments