网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > JAVA > 正文

JDK 6中新增的Java Console类功能及常见问题

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/07/09

网学网JAVA编辑为广大网友搜集整理了:JDK 6中新增的Java Console类功能及常见问题绩等信息,祝愿广大网友取得需要的信息,参考学习。

  JDK 6中提供了java.io.Console类专用来访问基于字符的控制台设备。如果你的Java程序要与Windows下的cmd或者Linux下的Terminal交互,就可以用这个Java Console类代劳。

  TestConsole.java 代码:

  1.package com.simon.testjdk6.console;

  2.

  3.import java.io.Console;

  4.

  5.public class TestConsole {

  6.

  7.    /**

  8.      * @param args

  9.      */

  10.    public static void main(String[] args) {

  11.         Console console = System.console(); // 获得Console实例对象

  12.        if (console != null) {              // 判断是否有控制台的使用权

  13.             String user = new String(console.readLine("Enter username:"));      // 读取整行字符

  14.             String pwd = new String(console.readPassword("Enter passowrd:"));   // 读取密码,输入时不显示

  15.             console.printf("Username is: " + user + "\n");      // 显示用户名

  16.             console.printf("Password is: " + pwd + "\n");   // 显示密码

  17.         } else {

  18.             System.out.println("Console is unavailable.");  // 提示无控制台使用权限

  19.         }

  20.

  21.     }

  22.

  23.}

  Java要与Console进行交互,不总是能得到可用的Java Console类的。一个JVM是否有可用的Console,依赖于底层平台和JVM如何被调用。如果JVM是在交互式命令行(比如Windows的cmd)中启动的,并且输入输出没有重定向到另外的地方,那么就我们可以得到一个可用的Console实例。

  当你有Eclipse或NetBean中运行以上代码时Console中将会有以下文字输出:

  Console is unavailable.

  表示Java程序无法获得Console实例,是因为JVM不是在命令行中被调用的,或者输入输出被重定向了。

  在控制台中运行代码,效果将如下所示:

  1.$ java com.simon.testjdk6.console.TestConsole

  2.Enter user:Simon

  3.Enter passowrd:

  4.User is:Simon

  5.Password is:12345

  我们可以看到:输入密码时,控制台时不显示我们所输入的密码字符。但是程序可以得到并输出的密码字符串。这就是JDK 6中新增的Java Console类的运行方式。

  注意:在Eclipse诸如类似的IDE工具中运行Console类。如果没有对Console实例判空操作,结果使用了该实例会抛出java.lang.NullPointerException异常。

  • 下一篇资讯: jdk环境变量配置
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号