Java でコンソール データを効率的かつ文字に優しい方法 (国際化に最適) で読み取るには、バイト ストリームの代わりに文字ストリームを使用することをお勧めします。 System.in はバイトのストリームであるため、Reader にカプセル化する必要があります。このタスクに推奨されるクラスは BufferedReader です。これは、InputStreamReader を使用してバイトを文字に変換します。
プロセスは次のように動作します:
System.in に関連付けられた InputStreamReader を作成します:
InputStreamReader fluxoEntrada = new InputStreamReader(System.in);
次に、この InputStreamReader を BufferedReader コンストラクターに渡します。
BufferedReader br = new BufferedReader(fluxoEntrada);
このように、br はコンソールに接続された文字ベースの入力ストリームになります。
文字と文字列を読み取るメソッド
使用例:
次のコードは、コンソールから 文字 までの文字を読み取ります。次のように入力します:
char c; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter characters, period to quit."); do { c = (char) br.read(); System.out.println(c); } while(c != '.');
別の例では、「stop」という単語が挿入されるまでテキスト行を読むことができます。
String str; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter lines of text."); System.out.println("Enter 'stop' to quit."); do { str = br.readLine(); System.out.println(str); } while(!str.equals("stop"));
これらのアプローチにより、特にさまざまな文字エンコーディングのサポートを必要とするプログラムの場合、キーボード データ入力がより便利で構造化されます。
以上が文字ストリームを使用したコンソール入力の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。