프로그래밍 공부/JAVA
JAVA-I/O(입출력) 문자기반 스트림
뚜뚜:)
2020. 11. 3. 18:18
2. 문자기반 스트림 : 입출력 단위가 문자(char)
문자단위로 데이터를 읽어오는 것 (byte일 경우 한글이 깨지는 현상-> 문자기반스트림으로 변경하여 출력)
<입력 스트림 예제>
try {
//문자기반의 파일 입력용 스트림 객체 생성
FileReader fr = new FileReader("D:/D_Other/test.txt");
int c;
while ((c=fr.read()) != -1) {
System.out.print((char)c);
}
fr.close();
}catch (IOException e) {
// TODO: handle exception
}
<출력 스트림 예제>
try {
// 바이트 기반의 스트림을 문자기반 스트림으로 변환해주는 스트림 객체 생성
//콘솔로 입력한 데이터를 가져오기 위한 스트림 객체
InputStreamReader isr = new InputStreamReader(System.in);
// 파일로 저장하는 문자기반 스트림 객체 생성
FileWriter fw = new FileWriter("d:/d_other/test.txt");
System.out.println("아무거나 입력하세요. (입력의 끝은 ctrl + z 키 입니다) >");
int c; //입력받은 값을 담은 변수 (int : 컴퓨터의 코드는 숫자)
while((c=isr.read()) != -1) {
fw.write(c); //콘솔로 입력한 값을 파일로 출력한다.
}
isr.close();
fw.close();
} catch (IOException e) {
}
System.out.println("종료되었습니다");
}
3. 보조스트림
: 스트림의 기능을 향상시키거나 새로운 기능을 추가하기 위해 사용, 독립적으로 입출력을 수행할 수 없다.