疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java从控制台中读取数据方法


 

从控制台中读取数据是一个比较常用的功能,在 JDK 5.0 以前的版本中的实现是比较复杂的,需要手工处理系统的输入流。有意思的是,从 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);
}
/**
*
使用系统的输入流,从控制台中读取数据《br/
*
用于所用的JDK版本
* @param prompt
提示信息
* @return
输入的字符串
*/
private static String readString
String prompt {
BufferedReader br = new BufferedReader
new InputStreamReaderSystem.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的输入对话框,输入字符串《br/
*
用于所用的JDK版本
* @param prompt
提示信息
* @return
输入的字符串
*/
private static String readStringFromDialog
String prompt {
return JOptionPane.showInputDialog
prompt);
}
}
上面的两种方法都有个共同的缺点--只能读取字符串,若需要读取其他类型的数据需要手工进行转换。
 
 
(转载)