Reader, Writer
- 추상클래스
- char단위 입출력 클래스는 Reader, Writer의 후손이다.

1. Reader 클래스
- 문자 기반 입력 스트림의 최상위 추상 클래스
- 객체를 직접 생성할 수 없으며, 이 클래스에 존재하는 메서드는 자식 객체에게 상속 되거나 재정의 되어 사용됨
- 모든 문자 기반 입력 클래스는 Reader 클래스를 상속받아 만들어지며, FileReader, BufferedReader, InputStream Reader 클래스가 있음
주요 메서드
| Method | Description |
| void close() | 스트림(Stream)을 닫고 그것과 관련된 시스템 리소스를 방출 |
| void mark(int readAheadLimit) | 스트림(Stream)에 현재 위치를 표시 |
| boolean markSupported() | 스트림(Stream)이 mark() 를 지원하는지 여부 확인 |
| int read() | 스트림(Stream)에서 단일 문자를 읽음 |
| int read(char[] cbuf) | 스트림(Stream)에서 cbuf배열 크기만큼 읽어 buf에 저장하고 그 크기를 반환 |
| int read(char[] cbuf, int off, int len) | 스트림(Stream)에서 len에 지정된 크기만큼 문자를 읽어 cbuf버퍼의 off위치에 저장하고 그 크기를 반환 |
| int read(CharBuffer target) | CharBuffer형인 target에서 문자열일 읽어옴 |
| boolean ready() | 다음 read()문을 수행할 수 있는지 판별, 스트림(Stream)이 준비되었는지 반환 |
| void reset() | 스트림(Stream)의 시작위치를 가장 가까운 mark 위치로 이동 |
| long skip(long n) | n만큼의 문자들을 건너뜀 |
2. Writer 클래스
- 문자 기반 출력 스트림의 최상위 추상 클래스
- 모든 문자 기반 출력 클래스는 Writer 클래스를 상속받아 만들어지며, FileWriter, BufferedWriter, PrintWriter, OutputStreamWriter 클래스가 있음
| Method | Description |
| Writer append(char c) | Writer에 문자를 추가 |
| Writer append(CharSequence csq) | Writer에 CharSequence csq를 추가 |
| Writer append(CharSequence csq, int start, int end) | Writer에 CharSequence csq의 start부터 end까지의 문자를 추가 |
| void close() | 스트림(Stream)을 닫음 |
| void flush() | 버퍼에 남은 출력 스트림(Stream)을 출력 |
| void write(char[] cbuf) | 배열 cbuf의 내용을 출력 |
| void write(char[] cbuf, int off, int len) | 배열 cbuf에서 off를 시작지점으로 len만큼의 문자를 출력 |
| void write(int c) | c만큼의 글자 출력 |
| void write(String str) | 문자열 str을 출력 |
| void write(String str, int off, int len) | 문자열 str에서 off를 시작지점으로 len만큼 출력 |
'JAVA' 카테고리의 다른 글
| Java IO 5 - ObjectInputStream, ObjectOutputStream (0) | 2023.08.24 |
|---|---|
| Java IO 4 - DataInputStream, DataOutputStream (0) | 2023.08.24 |
| Java IO 2 (0) | 2023.08.23 |
| JAVA IO 1 (0) | 2023.08.23 |
| Enum (0) | 2023.08.23 |
댓글