전에는 바이트 단위 입출력 스트림에 대해서 알아봤는데, 이번에는 문자 단위 입출력 스트림에 대해서 알아보겠습니다.

Reader

Reader는 문자 단위 입력 스트림 최상위 추상 클래스로 많은 추상 메서드가 존재하고 이를 하위 스트림이 상속받아 구현합니다.

주요 하위 클래스는 다음과 같습니다.

클래스설명
FileReader파일에서 문자 단위로 읽는 스트림 클래스입니다.
InputStreamReader바이트 단위로 읽은 자료를 문자로 변환해주는 보조 스트림 클래스 입니다.
BufferedReader문자로 읽을 때 배열을 제공하여 한꺼번에 읽을 수 있는 기능을 제공하는 보조 스트림입니다.

주요 메서드는 다음과 같습니다.

메서드설명
int read()파일로부터 한 문자를 읽습니다. 읽은 문자를 반환합니다.
int read(char[] buf)파일로부터 buf 배열에 문자를 읽습니다.
int read(char[] buf, int off, int len)파일로부터 buf 배열의 off 위치로부터 len 개수만큼의 문자를 읽습니다.
void close()입력 스트림과 연결된 대상 리소스를 닫습니다.

Writer

writer는 문자 단위 출력 스트림 최상위 추상 클래스로 Reader와 마찬가지로 많은 추상 메서드가 선언되어 있고 이를 하위 스트림이 상속받아 구현합니다.

주요 하위 클래스는 다음과 같습니다.

클래스설명
FileWriter파일에서 문자 단위로 출력하는 스트림 클래스입니다.
OutputStreamWriter바이트 단위의 자료를 문자로 변환해 출력해주는 보조 스트림 클래스 입니다.
BufferedWriter문자로 쓸 때 배열을 제공하여 한꺼번에 쓸 수 있는 기능을 제공하는 보조 스트림입니다.

주요 메서드는 다음과 같습니다.

메서드설명
int write(int c)한 문자를 파일에 합니다.
int write(char[] buf)문자 배열 buf의 내용을 출력합니다.
int write(char[] buf, int off, int len)문자 배열 buf의 off위치에서부터 len 개수의 문자를 출력합니다.
int write(String str)문자열 str을 출력합니다.
int write(String str, int off, int len)문자열 str의 off번째 문자로부터 len 개수만큼 출력합니다.
int flush()출력하기 전에 자료가 있는 공간(출력 버퍼)을 비워 출력하도록 합니다
void close()스트림과 연결된 리소스를 닫습니다. 출력 버퍼도 비워집니다.

이상으로 정말 간단하게 자바에서 사용하는 문자 단위 입출렧 스트림에 대해서 알아봤습니다.

profile
꾸준함으로 성장하는 개발자 지망생

1개의 댓글