争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

Java不同版本从控制台读取数据方法及优缺点区分

时间:2024/6/9作者:未知来源:争怎路由网人气:

网站建设是指使用标识语言(markup language),通过一系列设计、建模、和执行的过程将电子格式的信息通过互联网传输,最终以图形用户界面(GUI)的形式被用户所浏览。简单来说,网页设计的目的就是产生网站。简单的信息如文字,图片(GIF,JPEG,PNG)和表格,都可以通过使超文件标示语言、可扩展超文本标记语言等标示语言放置到网站页面上。

 

  从JDK 5.0版本开始,能从控制台中输入数据的方法每增加一个版本号,就有一种新增的方法,这也增加了选择的种类,可以依据不同的要求来进行选择。

  下面和绿茶小编一起来了解一下各个版本从控制台中读取数据的方法以及各自的优缺点。

Java不同版本从控制台读取数据方法及优缺点分析

  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不同版本从控制台读取数据办法及优缺点区分




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版