java从控制台读取数据_Java不同版本从控制台读取数据方法及优缺点分析
從JDK 5.0版本開始,能從控制臺中輸入數據的方法每增加一個版本號,就有一種新增的方法,這也增加了選擇的種類,可以依據不同的要求來進行選擇。
下面和綠茶小編一起來了解一下各個版本從控制臺中讀取數據的方法以及各自的優缺點。
1、JDK 1.4 及以下版本從控制臺讀取數據的方法
JDK 1.4 及以下的版本中要想從控制臺中輸入數據只有一種辦法,即使用System.in獲得系統的輸入流,再橋接至字符流從字符流中讀入數據。
示例代碼如下:
import java.io.IOException;
import java.io.InputStreamReader;
public class Test1 {
public static void main(String[] args) {
String str = readString("請輸入字符串:");
System.out.println("readString 方法的輸入:" + str);
}
/**
* 使用系統的輸入流,從控制臺中讀取數據
* 用于所用的JDK版本
* @param prompt 提示信息
* @return 輸入的字符串
*/
private static String readString(String prompt) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
try {
System.out.print(prompt);
str = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
}
從上面的代碼段來看,這種控制臺輸入的方法非常地麻煩,為了能讀取整行的數據,采用了BufferedReader類來進行處理,而且在讀取的過程中還需要捕獲IOException.不過這是 JDK 1.4 及以下版本中從控制臺讀取數據唯一的辦法。
還有一種非控制臺讀入數據的辦法,就是采用 Swing 中的JOptionPane,會彈出一個非常漂亮的輸入對話框讓使用者輸入數據,但這是一種比較另類的做法,不推薦使用。
示例代碼如下:
import javax.swing.JOptionPane;
public class Test2 {
public static void main(String[] args) {
String str = readStringFromDialog("請輸入字符串:");
System.out.println("readStringFromDialog 方法的輸入:" + str);
}
/**
* 使用JOptionPane的輸入對話框,輸入字符串
* 用于所用的JDK版本
* @param prompt 提示信息
* @return 輸入的字符串
*/
private static String readStringFromDialog(String prompt) {
return JOptionPane.showInputDialog(prompt);
}
}
上面的兩種方法都有個共同的缺點--只能讀取字符串,若需要讀取其他類型的數據需要手工進行轉換。
總結
以上是生活随笔為你收集整理的java从控制台读取数据_Java不同版本从控制台读取数据方法及优缺点分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: simpledateformat格式_如
- 下一篇: 循环输出