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