다음 코드는 키보드, 소켓, 파일로부터 라인단위로 문자를 읽어 출력한다. 다음 코드에서 이용하는 클래스는 '문자단위 처리 클래스'를 이용한 예이다.

 

package ch3;

 

import java.io.BufferedReader;

import java.io.InputStreamReader;

 

public class BufferedReaderTest {

 

       public static void main(String[] args) throws Exception {

 

              // InputStreamReader input = new InputStreamReader(System.in);               // 키보드로부터 입력

              // InputStreamReader input = new InputStreamReader(socket.getInputStream()); // 소켓으로부터 입력

              // FileReader        input = new FileReader("C:\\Temp\\Hello.txt");          // 파일로부터 입력

 

              InputStreamReader input = new InputStreamReader(System.in);

              BufferedReader br = new BufferedReader(input);

 

              while (true) {

                     String str = br.readLine();

                     if (str == null || str.length() == 0) {

                           break;

                     }

                     System.out.println("입력받은 문자열 :" + str);

              }

 

       }

}

 

 

 

 

 

   InputStreamReader Constructor의 인자로 InputStream 타입을 받는다.

   FileReader InputStream으로 부터 확장되 타입이므로 InputStreamReader

   Constructor의 인자로 전달 될 수 있다.

  

Constructor and Description

InputStreamReader(InputStream in)

Creates an InputStreamReader that uses the default charset.

InputStreamReader(InputStream in, Charset cs)

Creates an InputStreamReader that uses the given charset.

InputStreamReader(InputStream in, CharsetDecoder dec)

Creates an InputStreamReader that uses the given charset decoder.

InputStreamReader(InputStream in, String charsetName)

Creates an InputStreamReader

 

 

 

 

 

 

 

** 읽고 쓸수있는 클래스는 크게 바이트 단위로 읽고 쓸수 있는 '바이트 스트림클래스'와 문자단위로 읽고 쓸수 있는 '문자 스트림클래스'로 나뉘는데 문자 스트림 클래스들은 위의 예처럼 Reader나 Writer로 클래스 이름이 끝난다.

 

Posted by Steven J.S Min
,