1️⃣ 입·출력 개념
| 개념 |
설명 |
| 입력(Input) |
외부 → 프로그램으로 데이터 전달 |
| 출력(Output) |
프로그램 → 외부 장치로 데이터 전달 |
| 스트림(Stream) |
데이터가 흐르는 통로 (순차적으로 데이터 이동) |
스트림의 분류
| 종류 |
기반 |
대표 클래스 |
| 바이트 스트림 |
1바이트 단위 처리 |
InputStream, OutputStream |
| 문자 스트림 |
2바이트 유니코드 처리 |
Reader, Writer |
|
|
|
2️⃣ java.io 패키지 핵심 클래스
(1) InputStream / OutputStream (바이트 기반)
InputStream is = System.in;
int v = is.read();
OutputStream out = System.out;
out.write(v);
- 한글을 처리할 때 깨질 수 있음 → 문자 기반 스트림 필요
(2) InputStreamReader / OutputStreamWriter (문자 변환)
바이트 → 문자 변환(인코딩 보정)
InputStreamReader isr = new InputStreamReader(System.in);
int v = isr.read();
System.out.println((char)v);
(3) FileReader / FileWriter (파일 입·출력)
FileReader fr = new FileReader("aaa.txt");
FileWriter fw = new FileWriter("bbb.txt");
| 클래스 |
역할 |
| FileReader |
파일 데이터를 문자 단위로 읽음 |
| FileWriter |
파일에 문자 단위로 기록 |
|
|