`
SimonChan
  • 浏览: 8132 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
最近访客 更多访客>>
社区版块
存档分类
最新评论

JDK 6 新特性 - console:基于控制台的Java程序

阅读更多

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

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

Console is unavailable.



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

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

$ java com.simon.testjdk6.console.TestConsole
Enter user:Simon
Enter passowrd:
User is:Simon
Password is:12345


我们可以看到:输入密码时,控制台时不显示我们所输入的密码字符。但是程序可以得到并输出的密码字符串。

分享到:
评论

相关推荐

    rocketmq可视化控制台最新版 rocketmq-console-ng-2.x

    2.0.0是这个版本的编号,通常代表着相较于之前的版本,它可能包含了大量的新特性、性能优化以及bug修复。 在RocketMQ Console 2.0.0中,用户可以期待以下关键功能: 1. **集群管理**:用户可以通过控制台查看...

    rocketmq-console-ng-1.0.0.zip

    总结来说,"rocketmq-console-ng-1.0.0.zip"是一个包含RocketMQ Console管理控制台的压缩包,主要文件"rocketmq-console-ng-1.0.0.jar"是一个Java可执行文件,用于运行RocketMQ的图形化管理界面。使用这个控制台,...

    jvm-mon:基于控制台的JVM监视工具

    新版本发行: 用Go重写单个可执行文件可以监视Java 8及更高版本上的应用程序不需要现有的JDK 这个怎么运作: jvm-mon可执行文件与Java代理jar捆绑在一起启动时,它将代理提取到临时目录它附加到您要监视的JVM 将代理...

    elastic-job-lite-console-3.0.0.M1-SNAPSHOT.tar.gz

    Elastic-Job-Lite的核心特性包括弹性扩展、故障转移、分布式调度以及简单易用的控制台管理界面。在本项目中,我们关注的是"Elastic-Job-Lite-console"的3.0.0.M1-SNAPSHOT版本,这是一个预发布版本,用于测试和反馈...

    Mimerme-s-Util-Console:用Java编写的实用程序控制台,可轻松运行和下载控制台模块

    用Java编写的实用程序控制台,可轻松运行和下载控制台模块 #特征 在Windows上运行(可以修改/计划用于多平台) 对* NIX系统的小支持 管理类似于NPM或RubyGems的Java应用程序模块 通用,可以配置为运行使用批处理...

    picketlink-console:基于GWT的项目PicketLink控制台

    基本上,这是一个基于AS7控制台的体系结构和原理的GWT应用程序,提供用于管理PicketLink AS7子系统的UI。 有关更多信息,请参见。 如何建造 先决条件: Apache Maven 3 JDK 1.6以上 要构建控制台,请执行以下...

    elastic-job-lite-console-2.1.5.tar.gz

    1. **环境准备**:确保你已经安装了Java运行环境(JDK)并且设置了相应的环境变量,因为Elastic-Job是基于Java开发的。 2. **解压与配置**:将压缩包解压到合适的目录下,根据提供的配置文件(如`application....

    streamx-console-service_2.12-1.2.3.tar.gz

    "streamx-console-service_2.12-1.2.3.tar.gz" 是StreamX控制台服务的一个版本包,适用于Scala 2.12环境,版本号为1.2.3。这个压缩包包含了运行StreamX控制台服务所需的全部组件和配置文件,用户可以下载解压后在...

    java的数据输入:从控制台输入数据.pdf

    Java 数据输入:从控制台获取数据是编程中最基础的操作之一,尤其在教学环境中,通过控制台进行交互式数据输入能够帮助学生更好地理解程序运行过程。本文主要探讨如何在Java中从控制台接收用户输入的数据。 Java ...

    java的数据输入:从控制台输入数据分享.pdf

    本文将深入探讨如何在Java中从控制台接收用户输入的数据,主要涉及三种方法:标准输入流、Scanner类以及Console类。 1. **使用标准输入流的方式** 在Java早期版本(JDK 1.4及之前)中,程序员常通过标准输入流...

    java的数据输入:从控制台输入数据[借鉴].pdf

    本文主要探讨了Java如何从控制台接收数据,包括早期版本中使用标准输入流以及JDK 5.0及以后版本引入的Scanner类和Console类的方法。 1. 使用标准输入流的方式 在Java中,标准输入流(System.in)是一个InputStream...

    java的数据输入:从控制台输入数据定义.pdf

    从控制台输入数据的方式有多种,JDK 1.4 以前主要是使用标准输入流的方式,JDK 5.0 增加了使用 Scanner 类的方式,JDK 6.0 又增加了使用 Console 类的方式。 标准输入流是在 7.6.2 中已经讨论过的,例如 7-13 和 7-...

    JBoss-4.2.3.GA-jdk6.zip

    6. **管理工具**:JBoss管理控制台(jboss-admin-console)允许管理员监控和管理服务器实例,包括部署和更新应用程序、配置服务器设置以及管理安全性和事务。 7. **热部署**:JBoss支持热部署,意味着可以在不重启...

    JDK命令大全新手的宝典

    当使用`java.exe`命令运行程序时,会启动一个控制台(console)窗口,程序的输出信息将显示在这个窗口中。 #### 二、javac.exe **功能:** 编译Java源代码。 **说明:** `javac.exe` 也是JDK的重要组成部分,它的作用...

    Java语言基础入门教程 Java实训教程 1.java入门知识 共31页.pptx

    - **控制台(Console)**:程序输出结果的地方,在命令行环境中通常指的是命令提示符窗口。 通过以上内容的学习,初学者可以建立起对Java语言的基础认识,并掌握Java程序的基本开发流程。这为后续深入学习Java提供了...

    Java_Console_Application_TicTacToe:在控制台中播放TicTacToe

    该游戏是一个Java控制台应用程序。 如果您要开始游戏,请使用“ start.bat”文件。 使用以下方法创建应用程序: IDE Eclipse Java JDK 15.01 用户要求: Java JRE / JDK 14或更高版本 Java环境变量定律 为此,...

    jdk1.6新特性 下载

    Java Development Kit (JDK) 1.6,也被称为Java SE 6,是Java平台的一个重要版本,带来了许多新特性和改进,提升了开发效率和应用程序的性能。以下是一些主要的新特性: 1. **改进的编译器** - JDK 1.6中的编译器,...

    idea远程调试代码(图文详细)

    2. 当控制台(Console)窗口中显示“Connected to the target VM, address: '127.0.0.1:4001', transport: 'socket'”,表示已成功连接到远程服务器。 3. 此时,可以像调试本地代码一样设置断点、查看变量值等。 ##...

    JDK1.6的九大新特性

    ### JDK1.6的九大新特性详解 #### 一、Overview ...通过以上介绍可以看出,JDK1.6的这些新特性极大地丰富了Java平台的功能,并且为开发者提供了更多的工具和技术选择,进一步推动了Java语言的发展。

    Weblogic 服务器的基本配置

    - 将编写的Java程序打包成WAR文件,并通过Weblogic Server的管理控制台进行部署。 综上所述,Weblogic服务器的基本配置涵盖了服务器工作目录的设置、数据源的配置以及WEB应用程序的发布等多个方面,这些步骤是实现...

Global site tag (gtag.js) - Google Analytics