필터도 끼우고 브리지도 이용한 최종본
BufferRWKeyboardToMonitor
키보드로 부터 입력받아서 모니터로 출력하자. 단, 브릿지 스트림을 통해 문자단위로 변환하고
필터스트림을 통해 필터링하자
(BufferedReader/BufferedWriter필터 스트림 사용)
1.필터끼운 입력 스트림 생성
BufferedReader br = new BufferedReader( new InputSreamReader(System.in));2.필터끼운 출력 스트림 BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(System.out));3. 출력 3-1. br로 읽고 bw로 출력
[BufferedReader의 readLine()메소드 활용]
스트림의 끝에 도달하거나 읽을 문자열이 없는 경우 null반환. 엔터값을 읽지 않는다 엔터값을 읽지 않으니 직접 처리해야함 while((data=br.readLine()) !=null) {
방법1. 읽어온 데이타 뒤에 엔터값 추가 bw.write(data+"\r\n");
bw.flush();
방법2.줄바꿈 기능을 하는 메소드 호출:newLine()
bw.write(data);
bw.newLine();
bw.flush();
[PrintWriter-출력용 필터 스트림 이용] PrintWriter 객체 생성시 생성자의 두번째 인자로 true를 주면 autoflush지원하여 flush()를 호출 할 필요 없다. 또한 PrintWriter는 줄바꿈을 지원하는 println(String str)메소드를 제공한다
즉, 문자 기반으로 입출력시 BufferedReader읽고 PrintWriter출력하면 편하다 PrintWriter pw = new PrintWriter(System.out, true); 3-2 br로 읽고 pw로 출력 while((data=br.readLine()) !=null) { pw.println(data);
}
BufferRWKeyboardToFile
키보드로 부터 입력받아서 파일(KeyboardChar.txt)로 출력(FileWriter스트림 사용)하자
단,키보드로 입력받은 데이타(1바이트)는 브릿지 스트림을 통해 문자단위로 변환해라
그리고 필터스트림(2바이트 기반)을 통해 필터링하자
(BufferedReader/PrintWriter필터 스트림 사용)
1.필터끼운 입력 스트림 생성
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
2.필터 끼운 출력 스트림 생성
PrintWriter pw = new PrintWriter(
new FileWriter("src/io24/filter/KeyboardChar.txt"),true);
3.br로 읽고 pw로 출력
String data;
while((data=br.readLine()) !=null) { =.ctrl+z시 null반환
pw.println(data);
}
pw.close();
BufferRWFileToMonitor
파일로 부터 데이타를 읽어서(노드 스트림:FileReader) 모니터로 출력하자
필터스트림을 통해 필터링하자
(BufferedReader/PrintWriter)
1. 필터끼운 입력 스트림
BufferedReader br = new BufferedReader(
new FileReader("src/io24/filter/BufferInOutFileToFile.java"));
2.필터끼운 출력 스트림
PrintWriter pw = new ProntWriter(System.out,true);
3.출력
br로 읽고 pw로 출력
String data;
int line =1;
while ((date = br.readLine()) != null){
문제)
라인번호 붙여서 출력하고 "java"를 한글 "자바"로 바꿔서 출력해라.
pw.println(String.format("%-4s%s", line++,data.replace("java","자바")));
}
br.close();
'학원 > JAVA' 카테고리의 다른 글
10/13 20-2 File (0) | 2022.10.13 |
---|---|
10/13 20-1 ++ 브리지 & 남은 스트림 정리 (0) | 2022.10.13 |
10/12 19-6 +필터 스트림 이용 (0) | 2022.10.12 |
10/12 19-5 FileReader ... (0) | 2022.10.12 |
10/12 19-4 키보드로 입력 받는 경우 (0) | 2022.10.12 |