java中读取数据的几种方法

java中读取数据的几种方法

ID:8959197

大小:34.50 KB

页数:4页

时间:2018-04-13

java中读取数据的几种方法_第1页
java中读取数据的几种方法_第2页
java中读取数据的几种方法_第3页
java中读取数据的几种方法_第4页
资源描述:

《java中读取数据的几种方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、0引言从控制台中读取数据是一个比较常用的功能,在JDK5.0以前的版本中的实现是比较复杂的,需要手工处理系统的输入流。有意思的是,从JDK5.0版本开始,能从控制台中输入数据的方法每增加一个版本号,就有一种新增的方法,这也增加了选择的种类,可以依据不同的要求来进行选择。下面来看一下,各个版本中如何从控制台中读取数据以及各自的优缺点。1JDK1.4及以下版本读取的方法JDK1.4及以下的版本中要想从控制台中输入数据只有一种办法,即使用System.in获得系统的输入流,再桥接至字符流从字符流中读入数据。示例代码如下:importjava.io.I

2、OException;importjava.io.InputStreamReader;publicclassTest1{publicstaticvoidmain(String[]args){Stringstr=readString("请输入字符串:");System.out.println("readString方法的输入:"+str);}/***使用系统的输入流,从控制台中读取数据
*用于所用的JDK版本*@paramprompt提示信息*@return输入的字符串*/privatestaticStringreadString(Str

3、ingprompt){BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));Stringstr=null;try{System.out.print(prompt);str=br.readLine();}catch(IOExceptione){e.printStackTrace();}returnstr;}}从上面的代码段来看,这种控制台输入的方法非常地麻烦,为了能读取整行的数据,采用了BufferedReader类来进行处理,而且在读取的过程中还需要捕获IOExc

4、eption。不过这是JDK1.4及以下版本中从控制台读取数据唯一的办法。还有一种非控制台读入数据的办法,就是采用Swing中的JOptionPane,会弹出一个非常漂亮的输入对话框让使用者输入数据,但这是一种比较另类的做法,不推荐使用。importjavax.swing.JOptionPane;publicclassTest2{publicstaticvoidmain(String[]args){Stringstr=readStringFromDialog("请输入字符串:");System.out.println("readStringFr

5、omDialog方法的输入:"+str);}/***使用JOptionPane的输入对话框,输入字符串
*用于所用的JDK版本*@paramprompt提示信息*@return输入的字符串*/privatestaticStringreadStringFromDialog(Stringprompt){returnJOptionPane.showInputDialog(prompt);}}上面的两种方法都有个共同的缺点--只能读取字符串,若需要读取其他类型的数据需要手工进行转换。2JDK5.0读取的方法从JDK5.0开始,基本类库中增加了j

6、ava.util.Scanner类,根据它的API文档说明,这个类是采用正则表达式进行基本类型和字符串分析的文本扫描器。使用它的Scanner(InputStreamsource)构造方法,可以传入系统的输入流System.in而从控制台中读取数据。示例代码如下:importjava.util.Scanner;publicclassTest3{publicstaticvoidmain(String[]args){Stringstr=readString5("请输入字符串:");System.out.println("readString5方法的

7、输入:"+str);}/***使用扫描器类(Scanner)从控制台中读取字符串
*适用于JDK5.0及以后的版本*@paramprompt提示信息*@return输入的字符串*/privatestaticStringreadString5(Stringprompt){Scannerscanner=newScanner(System.in);System.out.print(prompt);returnscanner.nextLine();}}从代码量上来看,Test3比Test1少了很多的代码,核心代码只有两行。其实并不是Scanne

8、r将控制台输入给简单化了,只是在其内部的实现中已经将IOException处理了,而且采用InputStreamReader来一个字符一个字符进行扫描

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。