2011-01-05 3 views
1

더 나은 방법 인 Java에서 사용자 입력을 얻으려면?Java I/O 용 InputStreamReader 또는 Console

reader = new BufferedReader(new InputStreamReader(System.in)); 

또는 콘솔을 이용하여 - 둘 사이의 차이가 무엇>Console c = System.console();

사용되는 어느. 아니면이 둘 이외의 다른 더 좋은 방법이 있습니까?

답변

2

콘솔이 Java (Java 6)에 최근 도입되어 명령 줄 읽기 및 쓰기가 더 쉬워졌습니다. 따라서 콘솔을 사용합니다.

0

콘솔과 거의 동일하지만 콘솔은 사용자의 정보 (예 : 암호)를 안전하게 읽을 수있는 추가 방법을 가지고 있으며 기본 플랫폼이 실제로 콘솔 작업을 지원하는지 또는 시작되는지에 대한보다 직관적 인 결과를 반환합니다. 비 대화 형 환경

1

나는

Scanner in = new Scanner(System.in); 

in.next(); 
int i = in.nextInt(); 
float f = in.nextFloat(); 
double d = in.nextDouble();  
String s = in.nextLine(); 

및 기타 아름다운 방법

콘솔에서 사용자의 입력을 얻기 위해 당신에게 Scanner 클래스를 제안하지만,이 두 I 사이 당신을 추천합니다 콘솔

0

IMHO 그들은 완전히 다릅니다. 사이먼이 말하기를 : 현재의 Java 가상 머신에 을 관련있는 경우

방법

는 문자 기반 콘솔 장치에 액세스 할 수 있습니다.

따라서 구현은 OS에 따라 다르며 플랫폼에 독립적입니다 (존재하지 않을 수도 있음). Consol을 가진

심지어 당신은 표준 입력에서 읽을 수 없습니다 :

echo 123 | java Test 

하는 테스트가 작동하지 않습니다 콘솔을 사용하는 경우. 따라서 사용자는 콘솔에서 입력해야합니다.