read() : 1바이트 읽기 read(byte[] b) : 바이트 배열로 읽기 read(byte[] b, int off, int len) : 지정된 크기만큼 읽기 close() : 스트림 닫기write(int b) : 1바이트 쓰기 write(byte[] b) : 바이트 배열 쓰기 write(byte[] b, int off, int len) : 지정된 크기만큼 쓰기 flush() : 버퍼 비우기 close() : 스트림 닫기System.in을 사용해서 InputStream 클래스의 read()로 키보드 입력을 읽을 수 있습니다. finally 구문에서 스트림에 대한 close()를 하지 않으면 누수가 발생해서 시스템 장애가 발생할 수 있습니다. close를 자동화하기 위해 try-with-resource를 사용할 수 있습니다.read() : 한 문자 읽기 read(char[] cbuf) : 문자 배열로 읽기 read(char[] cbuf, int off, int len) : 지정된 크기만큼 읽기 close() : 스트림 닫기write(int c) : 한 문자 쓰기 write(char[] cbuf) : 문자 배열 쓰기 write(String str) : 문자열 쓰기 flush() : 버퍼 비우기 close() : 스트림 닫기| 항목 | 바이트 스트림 | 문자 스트림 |
|---|---|---|
| 처리 단위 | 1바이트 | 2바이트 |
| 데이터 타입 | 바이너리 데이터 (이미지, 동영상 등) | 문자 데이터 (텍스트 파일 등) |
| 사용 클래스 | InputStream, OutputStream | Reader, Writer |
| 인코딩 처리 | 직접 처리해야 함 | 자동 처리됨 |
| 주요 특징 | 모든 데이터 처리 가능 | 텍스트에 특화됨 |