개인참고자료/자바(네트워크)

문자 스트림 - Reader와 Writer

경진 2008. 7. 13. 23:29
Reader와 Writer

Reader와 Writer는 문자 단위 입출력 스트림에서 가장 기본이 되는 클래스로써 모두 추상 클래스다.
즉, Reader와 Writer는 객체화가 될 수 없다.

Reader와 Writer는 각각 바이트 단위 입출력 스트림인 InpustStream, OutputStream과 사용법이 거의 비슷하다. 틀린 점이 있다면, 바이트 단위 입출력 스트림은 바이트나 바이트의 배열을 읽고 쓰는 것에 비해서, 문자 단위 입출력 스트림은 문자나 문자 배열을 읽고 쓴다.

Reader 클래스의 중요 메소드

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

Writer 클래스의 중요 메소드

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

Reader와 Writer 클래스는 추상 클래스로 객체화할 수 없다. 하지만 Reader와 Writer 클래스는 부모 클래스로서 중요한 의미가 있다.
Reader와 Writer는 객체화 될 수 없지만 다음과 같이 사용할 수 있다.

Reader r = new FileReader("a.txt");