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下面输入密码的情况是一样的。

96堆栈 软件编程网- http://www.96dz.com,提供C语言、C++编程、VC++编程、Java编程、C#编程、NET编程、Linux编程、Web编程等全面技术信息,编程开发教程、视频教程、培训教程及相关资料的下载。

java控制台编程_java用Console开发控制台程序相关推荐

  1. java中文编程_Java中文编程开发

    如图,代码在后面 代码如下:支持多种写法 package util; /** * Java中文编程 * @author Online zuozuo * */ public class 牛 { publ ...

  2. java 接口编程_JAVA面向接口编程

    一.什么是面向接口编程 要正确地使用Java语言进行面向对象的编程,从而提高程序的复用性,增加程序的可维护性.可扩展性,就必须是面向接口的编程.面向接口的编程就意味着:开发系统时,主体构架使用接口,接 ...

  3. java 函数式编程_Java函数式编程:Javaslang入门

    java 函数式编程 Java是一门古老的语言,并且该领域中有很多新手在他们自己的领域(JVM)上挑战Java. 但是Java 8到来并带来了一些有趣的功能. 这些有趣的功能使编写新的惊人框架(例如S ...

  4. java网络编程_Java网络编程进阶:通过JSSE创建安全的数据通信

    小编说:本文作者孙卫琴,知名IT作家和Java专家.本文将通过一个范例向大家介绍JSSE是如何实现安全的网络通信的. 在网络上,信息在由源主机到目标主机的传输过程中会经过其他计算机.一般情况下,中间的 ...

  5. java用什么开发程序_java用来开发什么程序比较多

    java用来开发什么程序比较多 发布时间:2020-04-30 11:22:27 来源:亿速云 阅读:508 作者:小新 今天小编给大家分享的是java用来开发什么程序比较多,相信很多人都不太了解,为 ...

  6. java多线程编程_Java多线程编程实战指南+设计模式篇.pdf

    Java多线程编程实战指南+设计模式篇.pdf 对Java架构技术感兴趣的工程师朋友们可以关注我,转发此文后私信我"Java"获取更多Java编程PDF资料(附送视频精讲) 关注我 ...

  7. java多线程编程_Java多线程编程

    本文主要对Java多线程编程进行深入研究.本文通过查看源代码及参考资料等方式研究.参考文章: Java多线程编程深入详解. 由问题入手: 问题1: 2种创建Thread的方式都是实现run()方法,但 ...

  8. java vector编程_Java编程开发中向量(Vector)及其应用

    要学习Java编程开发中向量及其应用方面的知识就要先了解什么是向量,向量是如何声明及初始化的,下面就让IT培训网专家来给大家详细介绍下如何认识向量及其使用方法吧! 关于向量的介绍: 向量 vector ...

  9. java控制台扫雷_java实现扫雷游戏控制台版

    本文实例为大家分享了java实现扫雷游戏控制台版,供大家参考,具体内容如下 扫雷游戏 a.游戏的分析 在游戏中需要存在对象包含哪些. 格子对象(grid): 属性:内容(content).状态(typ ...

最新文章

  1. 合肥工业大学—SQL Server数据库实验四:数据库的分离和附加
  2. 举例说明html语言的结构,HTML语言的结构
  3. poj2586(贪心盈亏问题)
  4. 数据结构与算法笔记(八)—— 插入排序
  5. 群晖使用Linux命令,群晖常用指令
  6. 【C++】44.使用xx.so动态链接库
  7. apple MacBook air m1是我认为最非常适合学生的笔记本
  8. Ubuntu 12.04 安装配置 Apache2
  9. NotificationManager和Notification区别
  10. 3台机器配置hadoop集群_复制Hadoop集群之后无法访问端口50070的问题
  11. 解决ppt复制到Word的图片导出PDF后出现黑线问题,word转PDF图片不清晰的问题,ppt转矢量图问题
  12. java个人网站源码下载_创建一个基于JAVA的个人网站(有源码也行)
  13. 关于80286——《x86汇编语言:从实模式到保护模式》读书笔记15
  14. android模拟器横屏显示,安卓模拟器bluestacks怎么横屏显示
  15. 2021 年最漂亮的 Linux 发行版
  16. 图像分割阈值选取技术综述
  17. 报错:array_column函数未定义(原因:php版本问题)
  18. 计算机黑屏启动超慢,电脑开机慢黑屏时间长怎么解决
  19. 使用python将excel单元格中指定文字加粗标红
  20. 学习JAVABEANS

热门文章

  1. 服不服?40行Python代码,实现卷积特征可视化
  2. 使用Python分析姿态估计数据集COCO的教程
  3. 代码实践|通过简单代码来回顾卷积块的历史
  4. python01-变量,运算符与数据类型+位运算
  5. Classifying dynamic textures via spatiotemporal fractal analysis(许教授)
  6. Linux下基于密钥的安全验证实现方法
  7. 为IP签发SSL证书
  8. 推特雪花算法 java实现
  9. 当对象或对象属性为空时,如何安全给对象或对象属性添加默认值
  10. 动态规划4--最佳加法表达式