`

JDK6的新特性之七:用Console开发控制台程序

 
阅读更多

JDK6的新特性之七:用Console开发控制台程序

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

/**
*@authorchinajash
*/
publicclassConsoleTest{

publicstaticvoidmain(String[]args){
Consoleconsole=System.console();//获得Console实例
if(console!=null){//判断console是否可用
Stringuser=newString(console.readLine("Enteruser:"));//读取整行字符
Stringpwd=newString(console.readPassword("Enterpassowrd:"));//读取密码,密码输入时不会显示
console.printf("Useris:"+user+"/n");
console.printf("Passwordis:"+pwd+"/n");
}else{
System.out.println("Consoleisunavailable");
}
}
}

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

Consoleisunavailable

表示Console不可获得,那是因为JVM不是在命令行中被调用的或者输入输出被重定向了.但是如果我们在命令行中运行上面程序(javaConsoleTest),程序能够获得Console实例,并执行如下:

Enteruser:chinajash
Enterpassowrd:
Useris:chinajash
Passwordis:chinajash

在这里可以看到输入密码时,控制台时不显示这些密码字符的,但是程序可以得到输入的密码字符串,这与Linux下面输入密码的情况是一样的


分享到:
评论

相关推荐

    JDK1.6新特性与实战例子

    JDK6的新特性之二:使用JAXB2来实现对象与XML之间的映射 JDK6的新特性之三:理解StAX StAX(JSR 173)是JDK6.0中除了DOM和SAX之外的又一种处理XML文档的API JDK6的新特性之四:使用Compiler API 现在我们可以用JDK6 ...

    JDK+6.0+ZH+API.chm.zip

    JDK6的新特性之七_用Console开发控制台程序 JDK6的新特性之八_嵌入式数据库Derby JDK6的新特性之六_插入式注解处理API JDK6的新特性之九_CommonAnnotations JDK6的新特性之十_Web服务元数据 JDK6的新特性之...

    JDK1.6的九大新特性

    七:用Console开发控制台程序 六:插入式注解处理API(Pluggable Annotation Processing API) 五:轻量级Http Server API 四:使用Compiler API 三:理解StAX 二:使用JAXB2来实现对象与XML之间的映射 一:Desktop类...

    JDK7新特性(完整篇)

    1.1 JDK7新特性<一>概述 . . . . . . . . . ....1.2 JDK7新特性<二> 语法 ....1.3 JDK7新特性<三> JDBC4.1 ....1.7 JDK7新特性<七> 遍历文件树 . . . . . . . 1.8 JDK7新特性<八>异步io/AIO . . . . . . . .

    JDK6的新特性

    JDK6的新特性JDK6的新特性

    jdk1.8新特性.doc

    本文主要介绍了JDK1.8版本中的一些新特性,仅供参考。 jdk1.8新特性知识点: 1、Lambda表达式 2、函数式接口 3、方法引用和构造器调用 4、Stream API 5、接口中的默认方法和静态方法 6、新时间日期API

    JDK8新特性(pdf版)

    JDK8新特性(pdf版)

    jdk8新特性

    jdk8新特性,百度云盘。jdk8新特性,百度云盘。jdk8新特性,百度云盘。

    JDK 6.2.3文文档.rar

    用Console开发控制台程序 对脚本语言的支持(如:ruby,groovy,javascript) Common Annotations ———————————————— 版权声明:本文为CSDN博主「念念就忘」的原创文章,遵循CC 4.0 BY-SA版权协议,...

    JDK6的新特性(DOC)

    JDK6的新特性,WORD版本的。JDK6

    jdk1.8 新特性.docx

    jdk1.8新特性知识点: Lambda表达式 函数式接口 *方法引用和构造器调用 Stream API 接口中的默认方法和静态方法 新时间日期API

    jdk5.0新特性

    jdk5.0新特性介绍

    jdk5、jdk6新特性系统介绍.chm

    jdk5、jdk6新特性系统介绍.chm 系统、全面 本人自己整理的资料

    JDK1.5新特性

    JDK1.5新特性

    jdk1.5新特性

    转载 jdk1.5的一些新特性,希望能帮助大家!

    jdk8新特性.md

    jdk8新特性.md

    jdk6新特性介绍

    NULL 博文链接:https://strength-java.iteye.com/blog/1244812

    汽车租赁系统.开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysq

    开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9

    汽车租赁系统开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7

    开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9

Global site tag (gtag.js) - Google Analytics