コンソールから入力を読み込む方法 – Java
Javaでは、コンソールからの入力を読み取る3つの方法があります。
-
BufferedReader InputStreamReader(Classic)
-
スキャナ(JDK 1.5)
-
System.console(JDK 1.6)
1. BufferedReader InputStreamReader
経験豊富なJava開発者にとっては、システム入力を読み取るこの古典的な方法が欠けています。
ReadConsole.java
package com.mkyong; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class ReadConsole { public static void main(String[]args) { BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(System.in)); while (true) { System.out.print("Enter something : "); String input = br.readLine(); if ("q".equals(input)) { System.out.println("Exit!"); System.exit(0); } System.out.println("input : " + input); System.out.println("-----------\n"); } } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
出力
Enter something : old and classic input : old and classic ----------- 何かを入力してください:q終了!
2. Scanner
In JDK 1.5, the developer starts to use
java.util.Scanner
to read
system input.
ReadConsole2.java
パッケージcom.mkyong; パブリッククラスReadConsole2 { public static void main(String[]args){ スキャナスキャナ=新しいスキャナ(System.in); while(true){ System.out.print( "何かを入力:");文字列入力= scanner.nextLine(); if( "q" .equals(input)){System.out.println( "Exit!");ブレーク; } System.out.println( "input:" input); System.out.println( "----------- \ n"); } scanner.close(); } }
出力
何かを入力してください:hello jdk 1.5 入力:hello jdk 1.5 ----------- 何かを入力してください:スキャナの例 入力:スキャナの例 ----------- 何かを入力してください:q終了!
3. System.console
In JDK 1.6, the developer starts to switch to the more simple and
powerful
java.io.Console
class.
ReadConsole3.java
パッケージcom.mkyong; パブリッククラスReadConsole3 { public static void main(String[]args){ while(true){ System.out.print( "何かを入力:"); String input = System.console()。readLine(); if( "q" .equals(input)){System.out.println( "Exit!"); System.exit(0); } System.out.println( "input:" input); System.out.println( "----------- \ n"); } } }
出力
何かを入力してください:hello jdk 1.6 入力:hello jdk 1.6 ----------- 何かを入力:コンソールの例 入力:cosoleの例 ----------- 何かを入力してください:q終了!