2011-01-05 4 views
1

より良い方法であるJavaでユーザー入力を取得するには?コンソールの使用によるJava I/OのInputStreamReaderまたはConsole

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

または - >Console c = System.console();

2とどちらが使用されるの違いは何です。あるいは、これらの2つ以外の方法がありますか?

答えて

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固有であり、プラットフォームに依存しない(存在していてもいなくてもよい)。コンソル付き

も、あなたは標準入力から読み込むことができません。

echo 123 | java Test 

テストが、それは動作しませんコンソールを使用している場合。したがって、ユーザはコンソールからの入力を与えなければなりません。

関連する問題