文档详情

java中读取数据的几种方法.doc

发布:2017-06-09约4.39千字共4页下载文档
文本预览下载声明
0 引言 从控制台中读取数据是一个比较常用的功能,在 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 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的输入对话框,输入字符串br/ * 用于所用的JDK版本 * @param prompt 提示信息 * @return 输入的字符串 */ private static String readStringFromDialog(String prompt) { return JOptionPane.showInputDialog(prompt); } } 上面的两种方法都有个共同的缺点--只能读取字符串,若需要读取其他类型的数据需要手工进行转换。 2 JDK 5.0 读取的方法 从 JDK 5.0 开始,基本类库中增加了java.util.Scanner类,根据它的 API 文档说明,这个类是采用正则表达式进行基本类型和字符串分析的文本扫描器。使用它的Scanner(InputStream source)构造方法,可以传入系统的输入流System.in而从控制台中读取数据。示例代码如下: import java.util.Scanner; public class Test3 { public static void main(String[] args) { String str = readString5(请输入字符串:); System.out.println(readStri
显示全部
相似文档