자바

입력 스트림

devjones 2020. 9. 6. 15:14

다음은 InputStream 클래스의 객체인 System.in에 InputStreamReader 클래스의 객체를 연결하여 키보드로부터 문자열을 입력받는 예제이다.

package ch01;

import java.io.IOException;
import java.io.InputStreamReader;

public class InputStreamReaderTest {
	public static void main(String[] args) {
		InputStreamReader in = new InputStreamReader(System.in);
		
		try {
			while(true) {
				int i = in.read();
				
				char myChar = (char)i;
				System.out.print(myChar);
			}
		} catch (IOException e) {
			System.out.println(e.toString());
		}
	}
}

 

다음은 FileReader 클래스로 하드 디스크에 저장된 파일의 내용을 읽어서 출력하는 예제이다.

package ch01;

import java.io.FileReader;
import java.io.IOException;

public class FileReaderTest {
	public static void main(String[] args) {
		int i;
		
		try {
			FileReader in = new FileReader("FileReaderTest.java");
			
			while((i = in.read()) != -1) {
				char myChar = (char)i;
				System.out.print(myChar);
			}
			
		} catch (IOException e) {
			System.out.println(e.toString());
		}
	}
}

 

※ BufferedReader 클래스를 생성할 때 InputStreamReader 클래스의 객체를 인수로 주면, 버퍼를 사용하면서 캐릭터 단위로 데이터를 읽는 스트림이 생성된다.

 

다음은 BufferedReader 클래스로 키보드로부터 문자열을 읽는 예제이다.

package ch01;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class BufferedReaderTest {
	public static void main(String[] args) {
		InputStreamReader isReader = new InputStreamReader(System.in);
		BufferedReader in = new BufferedReader(isReader);
		
		try {
			System.out.println("글씨를 입력하시면 따라 합니다.");
			
			String str = in.readLine();
			System.out.println(str);
		} catch (Exception e) {
			System.out.println(e.toString());
		}
	}
}