コンソールから入力を読み込む方法 – 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終了!