입출력 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만ㄴ큼 출력












+ Recent posts