방향 | 설명 |
---|---|
System.in | 표준 입력 스트림 (키보드 입력 등) |
System.out | 표준 출력 스트림 (콘솔 출력 등) |
구분 | 읽고 쓰는 단위 | 클래스 명 패턴 | 특징 |
---|---|---|---|
바이트 스트림 | 1바이트 | InputStream , OutputStream | 한글(2바이트) 제대로 처리 불가 |
문자 스트림 | 2바이트 | Reader , Writer | 유니코드(한글 포함) 안전하게 처리 가능 |
클래스명 패턴 | 스트림 종류 | 데이터 단위 |
---|---|---|
XXXInputStream | 입력용 스트림 | 바이트 |
XXXOutputStream | 출력용 스트림 | 바이트 |
XXXReader | 입력용 스트림 | 문자 |
XXXWriter | 출력용 스트림 | 문자 |
InputStreamReader
: 바이트 입력 → 문자 입력 변환OutputStreamWriter
: 문자 출력 → 바이트 출력 변환바이트 스트림 ↔ 문자 스트림 사이의 다리 역할
File
: 파일 자체를 관리하는 클래스 (입출력 스트림 아님)FileInputStream
, FileOutputStream
: 파일의 바이트 스트림 처리FileReader
, FileWriter
: 파일의 문자 스트림 처리try-with-resources
는 자원을 자동으로 닫아주는 try 구문AutoCloseable
또는 Closeable
을 구현한 객체는 블록 종료 시 자동으로 close()
호출됨try (자원1; 자원2; ...) {
// 자원을 사용하는 코드
} catch (예외타입 e) {
// 예외 처리
}
Scanner 클래스
File 클래스