필터도 끼우고 브리지도 이용한 최종본

 

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

+ Recent posts