바이트 기반 스트림(InputStream, OutputStream), 보조 스트림은 입력단위가 1byte임
자바는 char형이 2byte라서 바이트 기반 스트림으로 2byte를 처리하긴 힘들다
따라서 문자 기반 스트림이 제공됨, 문자 데이터를 입출력할때 사용한다
InputStream이 Reader로, OutputStream이 Writer로 바뀐다
FileInputStream - > FileReader / FileOutputStream - > FileWriter (파일)
ByteArrayInputStream - > CharArrayReader / ByteArrayOutputStream - > CharArrayWriter (메모리)
PipedInputStream - > PipedReader / PipedOutputStream - > PipedWriter (프로세스간 통신)
StringBufferInputStream - > StringReader / StringBufferOutputStream - > StringWriter
* StringBufferInputStream은 StringReader, StringBufferOutputStream은 StringWriter로 대체되어서 사용되지 않음
문자 기반 스트림의 읽기와 쓰기에 사용되는 메서드
Reader
int read()
int read(char[] cbuf)
abstract int read(char[] cbuf, int off, int len)
Writer
void write(int c)
void write(char[] cbuf)
abstract void write(char[] cbuf, int off, int len)
void write(String str)
void write(String str, int off, int len)
문자 기반 스트림의 보조스트림
BufferedReader, BufferedWriter (버퍼를 이용한 입출력 성능향상)
FilterReader, FilterWriter (필터를 이용한 입출력 처리)
LineNumberReader (읽어온 데이터의 라인 번호 카운트)
PrintWriter (버퍼를 이용하여 추가적인 print관련 기능 : print, printf, println)
PushbackReader (버퍼를 이용해서 읽어온 데이터를 다시 되돌림 : unread, push back to buffer)
'JAVA' 카테고리의 다른 글
| FileInputStream, FileOutputStream 메서드 (0) | 2025.06.15 |
|---|---|
| ByteArrayInputstream, ByteArrayOutputStream 예제 (0) | 2025.06.15 |
| 기본적인 File I/O에 대한 이해 (1) | 2025.06.13 |
| I/O - 보조 스트림 (0) | 2025.06.13 |
| 입출력 I/O - 바이트 기반 스트림 (1) | 2025.06.13 |