JR 精品文章 - JDK6.0新特性:用Console开发控制台程序
AD: jr (at) javaresearch.org


首页 | 动态 | 文章 | FAQ  | 新闻 | 下载 | 代码 | 工作 | 调查 | 术语 | 站点 | 图书 | 论坛 | 帮助 | 全部  

TOP | 交流 | 软件 | 专栏 | 开源 | 译/著 | 源码 | API  | 推荐 | FTP  | 积分 | 统计 | 搜索 | Blog | 我们  
首页 » 研究文集 » JDK核心API 搜索标题相关文章 搜索标题相关文章    评论此文章 发表评论     开始监控此文章 开始监控   加入收藏夹  加入收藏夹
JDK6.0新特性:用Console开发控制台程序
xylary 转贴   更新:2007-01-06 19:00:20  版本: 1.0   

JDK6中提供了java.io.Console类专用来访问基于字符的控制台设备. 你的程序如果要与Windows下的cmd或者Linux下的Terminal交互,就可以用Console类代劳. 但我们不总是能得到可用的Console, 一个JVM是否有可用的Console依赖于底层平台和JVM如何被调用. 如果JVM是在交互式命令行(比如Windows的cmd)中启动的,并且输入输出没有重定向到另外的地方,那么就可以得到一个可用的Console实例. 下面代码演示了Console类的用法: 

/**
* @author chinajash
*/
public class ConsoleTest {
 public static void main(String[] args) {
  Console console = System.console();//获得Console实例
  if(console!=null){//判断console是否可用
   String user = new String(console.readLine("Enter user:")); //读取整行字符
   String pwd = new String(console.readPassword("Enter passowrd:")); //读取密码,密码输入时不会显示
   console.printf("User is:"+user+"\n");
   console.printf("Password is:"+pwd+"\n");
  }else{
   System.out.println("Console is unavailable");
  }
 }

如果在NetBean5.5里面运行上面程序,会输出

  Console is unavailable

  表示Console不可获得,那是因为JVM不是在命令行中被调用的或者输入输出被重定向了. 但是如果我们在命令行中运行上面程序(java ConsoleTest),程序能够获得Console实例,并执行如下:
Enter user:chinajash
Enter passowrd:
User is:chinajash
Password is:chinajash
在这里可以看到输入密码时,控制台时不显示这些密码字符的,但是程序可以得到输入的密码字符串,这与Linux下面输入密码的情况是一样的。




版权声明  
本篇文章对您是否有帮助?  投票:         投票结果:     22       1
作者其它文章: 作者全部文章
评论人:shejun 发表时间: Fri Jan 19 09:24:58 CST 2007
好好好
评论人:yanglenovo 发表时间: Tue Aug 21 00:06:29 CST 2007
先用啊
评论人:yanglenovo 发表时间: Wed Aug 22 18:05:58 CST 2007
[:-]
评论人:heherry 发表时间: Fri Dec 21 11:08:34 CST 2007
要是能说说它的常用场合那就更好了.[:)]

这个文章共有 4 条评论
主题: 抛不了异常,我该怎么办 上一篇文章
返回文章列表 返回〔JDK核心API〕
下一篇文章 主题: 使用java.util.concurrent实现的线程池、消息队列功能


文字广告链接
        自主、快速定制基于JAVA的B/S业务系统          重量级企业在线自定义WEB报表平台
        Excel制表、零代码发布、打印、图表结合——快逸报表,免费、稳定、功能强大的java工具
        技术圈: 关于Java、dotNet、PHP、Ruby、奇客、Web2.0等更多资讯博客精选文章

关于 JR  |  版权声明  |  联系我们 

©2002-2006 JR 版权所有 沪ICP备05019622号