[바이트 스트림] InputStreamReader를 이용한 라인단위로 [키보드,소켓,파일]로부터 읽고 출력
Java/Input/Output Facilities 2013. 2. 9. 23:05다음 코드는 키보드, 소켓, 파일로부터 라인단위로 문자를 읽어 출력한다. 다음 코드에서 이용하는 클래스는 '문자단위 처리 클래스'를 이용한 예이다.
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로 클래스 이름이 끝난다.
'Java > Input/Output Facilities' 카테고리의 다른 글
IO클래스 사용시 지켜야 할 점. (0) | 2013.02.10 |
---|---|
바이트 단위 IO [ 1바이트씩 읽고 쓰기 ] (0) | 2013.02.10 |
임시파일 생성 (0) | 2013.02.09 |
Java IO클래스 구조 및 클래스명에 사용된 단어의 의미 (0) | 2013.02.09 |
왜 Java NIO는 사용하기 어려운가? (0) | 2013.02.01 |