입출력 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 scq를 추가 |
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만ㄴ큼 출력 |
'Programming > Java' 카테고리의 다른 글
[Java] JDBC를 이용한 데이터베이스 연결 - 예제 (0) | 2019.03.19 |
---|---|
[Java] JDBC를 이용한 데이터베이스(MySQL) 연결 - 기본세팅 (0) | 2019.03.15 |
[Java] 입출력 - 스트림(Stream) 이란 (0) | 2019.03.11 |
[Java] 파일 입/출력 - 1. 파일에 데이터쓰기 (0) | 2019.03.11 |
[Java] 문자열 자르기 - SubString() (0) | 2019.03.07 |