InputStreamReader는 사용하기 Scanner에 비해 번거롭지만 속도가 빠르다.
import java.io.*; //InputStreamReaer 사용을 위한 임포트
public class Main {
public static void main(String[] args){
InputStreamReader rd = new InputStreamReader(System.in);
//사용자로부터 값 입력받기
try{
while(true){
int a= rd.read(); //키보드로부터 문자 하나 읽고 a에 저장
if (a==-1) // -1 -> command+z
break;
System.out.println((char)a); //입력된 문자 출력
}
}
catch(IOException e){
System.out.println("ERROR");
}
}
}
package Blog.BufferdReader;
import java.io.BufferedReader;
import java.io.IOException; //BufferedReader 무조건 예외처리를 해줘야함
import java.io.InputStreamReader;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String a = br.readLine();
System.out.println("BufferedReader : " + a);
}
}
JAVA에서는 예외가 발생할 수 있는 상황이 조금이라도 인지되면 예외처리를 해줘야함.
Scanner는 InputStreamReader에 비해 사용하기 편하지만 속도가 느리다.
import java.util.Scanner; // Scanner 사용을 위한 임포트
public class Main {
public static void main(String[] args){
Scanner a = new Scanner(System.in);
System.out.println("이름, 나이, 생년월일 입력");
System.out.println(a.next()+"입니다.");
System.out.println(a.nextInt()+"살 입니다.");
System.out.println(a.nextInt()+"년");
System.out.println(a.nextInt()+"월");
System.out.println(a.nextInt()+"일");
}
}
메소드 | 설명 |
---|---|
Sting next() | 다음 아이템을 문자열 타입으로 리턴 |
int nextInt() | 다음 아이템을 int 타입으로 리턴 |
double next() | 다음 아이템을 double 타입으로 리턴 |
Sting nextLine() | 한 라인 전체('\n'까지)를 읽어 문자열 타입으로 리턴 |