| 방향 | 설명 |
|---|---|
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 클래스