Java 문자 스트림

문자 스트림(character stream)

java.io 패키지의 클래스 중에 문자 스트림(character stream) 관련 클래스는 아래와 같다.

  • Reader
    • BufferedReader
    • InputStreamReader
      • FileReader
  • Writer
    • BufferedWriter
    • OutputStreamWriter
      • FileWriter

Reader/Writer 추상클래스

Writer 클래스와 Reader 클래스는 추상 클래스이기 때문에 실제 객체를 생성할 수는 없다.

Reader 추상클래스

Reader 클래스는 문자 스트림의 입력 기능을 제공한다.

Reader 주요 메소드

메소드 설명
abstract void close() throws IOException 문자 입력 스트림을 닫는다.
void mark(int limit) throws IOException 문자 입력 스트림의 현재 위치를 표시한다.
boolean markSupported() 문자 스트림이 mark() 메소드가 지정되어 있는지 여부를 반환한다.
int read() throws IOException 문자 입력 스트림에서 단일 문자를 읽는다.
int read(char buf[]) throws IOException 문자 입력 스트림에서 buf[] 크기만큼을 읽어 buf에 저장하고 읽은 문자 수를 반환한다.
abstract int read(char buf[], int off, int len) throws IOException 문자 입력 스트림에서 len 만큼을 읽어 buf[]의 off 위치에 저장하고 읽은 문자 수를 반환한다.
int read(CharBuffer target) throws IOException CharBuffer 형인 target에 문자열을 읽어 온다.
boolean ready() throws IOException 문자 입력 스트림이 준비되었는지 리턴한다.
void reset() throws IOException 문자 입력 스트림을 mark된 위치로 되돌린다.
long skip(long l) throws IOException 주어진 개수 l 만큼의 문자를 건너뛴다.

Writer 추상클래스

Writer 클래스는 문자 스트림의 출력 기능을 제공한다.

Writer 주요 메소드

메소드 설명
Writer append(char c) throws IOException Writer에 Character c 를 추가한다.
Writer append(CharSequence csq) throws IOException Writer에 CharSequence csq 를 추가한다.
Writer append(CharSequence csq, int start, int end) throws IOException Writer에 CharSequence csq 의 start 부터 end까지의 문자를 추가한다.
abstract void close() throws IOException 문자 출력 스트림을 닫는다.
abstract void flush() throws IOException 버퍼에 남은 출력 스트림을 출력한다.
void write(String str) throws IOException 주어진 문자열 str를 출력한다.
void write(char buf[]) throws IOException buf의 내용을 출력한다.
void write(char buf[], int off, int len) throws IOException buf의 off 위치부터 len 만큼의 문자를 출력한다.
void write(String str, int off, int len) throws IOException 주어진 문자열 str에 있는 문자들을 off 위치부터 len 만큼 출력한다.



최종 수정 : 2021-08-27