입출력(I/O)

데이터를 외부로부터 읽고(입력/input), 외부로 데이터를 쓰는(출력/output) 과정

프로그램 간 데이터 교환 시 모든 프로그램에 입출력 스트림이 필요하다.

데이터 스트림은 입출력에 있어 데이터를 순차적으로 처리하는 연속된 데이터의 흐름을 말한다.

스트림의 분류

어떤 데이터를 출력하느냐에 따라 다양한 스트림의 종류로 분류될 수 있다.

데이터는 바이트(byte) 또는 문자(character) 단위로 전송된다.

참고로 영어는 1byte, 한글은 2byte이다.

바이트 입력 스트림

InputStream 클래스를 상속받는 클래스들을 통해 구현한다.

파일, 네트워크 등 다양한 소스로부터 데이터를 읽을 수 있다.


✋ 잠깐! int 타입으로 받았는데 char 타입으로 형변환이 가능한 이유는?

이유는 i = fis.read() 이 부분에서 문자를 숫자로 인식하는 아스키코드로 읽고 있기 때문이다. ASCII와 인코딩에 대한 설명은 해당 페이지에 정리해두었다. ASCII, UNICODE

바이트 출력 스트림