[Java] Java 입출력 Stream

이상헌·2020년 8월 29일
0

java

목록 보기
1/3

IputStream/OutputStream과 Reader/Writer는 각각 바이트 스트림(Byte Stream)과 문자 스트림(Characer Stream)의 최상위 클래스로 두 종류의 스트림 사이에는 데이터 처리 단위의 차이가 있다.

바이트 스트림은 한 바이트(1byte = 8bit)씩 처리되고 문자 스트림은 문자 단위로 처리하는데, 자바의 문자는 유니코드로 작성되므로 2 바이트(2byte)씩 처리한다. 이로 인해 데이터 처리 시 영어, 숫자외의 다른 언어등의 데이터 입출력 시 추가 처리 없이 바이트 스트림만 사용 시 데이터가 깨질 수 있다.

이 때 문자 스트림을 사용하면 추가 처리 없이도 데이터를 깨지지 않게 처리할 수 있어 편리하다. 이는 영어권은 문자를 1 바이트 아스키코드로 처리하지만 다른 지역은 문자를 2 바이트 유니코드로 처리하기 때문이다.

그러므로 문자 입출력 시에는 영어나 그 외의 언어나 모두 2 바이트 유니코드로 처리해 언어와 상관없이 동일하게 처리할 수 있는 문자 스트림을, 이미지나 실행 파일 같은 바이너리 데이터 입출력 시에는 바이트 스트림을 사용한다.

참고:이게 진짜 JAVA 프로그래밍이다 김유진 저 | 영진닷컴

profile
배고픈 개발자 sayi입니다!

0개의 댓글