JDK 6中新增的Java Console类功能概览
转载自 JDK 6中新增的Java Console类功能概览
JDK 6中提供了java.io.Console类专用来访问基于字符的控制台设备。如果你的Java程序要与Windows下的cmd或者Linux下的Terminal交互,就可以用这个Java Console类代劳。
TestConsole.java 代码:
- package com.simon.testjdk6.console;
- import java.io.Console;
- public class TestConsole {
- /**
- * @param args
- */
- public static void main(String[] args) {
- Console console = System.console(); // 获得Console实例对象
- if (console != null) { // 判断是否有控制台的使用权
- String user = new String(console.readLine("Enter username:")); // 读取整行字符
- String pwd = new String(console.readPassword("Enter passowrd:")); // 读取密码,输入时不显示
- console.printf("Username is: " + user + "\n"); // 显示用户名
- console.printf("Password is: " + pwd + "\n"); // 显示密码
- } else {
- System.out.println("Console is unavailable."); // 提示无控制台使用权限
- }
- }
- }
Java要与Console进行交互,不总是能得到可用的Java 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
我们可以看到:输入密码时,控制台时不显示我们所输入的密码字符。但是程序可以得到并输出的密码字符串。这就是JDK 6中新增的Java Console类的运行方式。
JDK 6中新增的Java Console类功能概览相关推荐
- java console类_Java Console
Java Console 1 什么是Java Console Java Console类用于从控制台获取输入.它提供了读取文本和密码的方法. 如果您使用Console类读取密码,则不会向用户显示该密码 ...
- win10安装JDK cmd中可以运行java,但不能用javac,解决方案
win10安装JDK cmd中可以运行java,但不能用javac,解决方案 参考文章: (1)win10安装JDK cmd中可以运行java,但不能用javac,解决方案 (2)https://ww ...
- JDK 8中的流驱动的集合功能
这篇文章介绍了JDK 8的应用–引入了带有集合的 流 ,以更简洁地完成通常需要的与集合相关的功能. 在此过程中,将演示并简要说明使用Java Streams的几个关键方面. 请注意,尽管JDK 8 S ...
- jdk8中新增的日期处理类LocalDate,LocalTime,LocalDateTime,ZoneId,ZonedDateTime详解
基本概念 时刻 所有计算机系统内部都用一个整数表示时刻,这个整数是距离格林尼治标准时间1970年1月1日0时0分0秒的毫秒数,可以理解时刻就是绝对时间,它与时区无关; 不同时区对同一时刻的解读,即年月 ...
- 使用 JDK 14 的 jpackage 打包 Java 应用
Java应用的分发一直是一个比较麻烦的问题.这是因为Java应用的运行需要虚拟机的支持,仅有Java应用打包的JAR文件是不够的,目标机器还需要安装版本匹配的JDK或JRE.随着云原生和容器化技术的流 ...
- java console 交互_实例讲解java中Console类的用法
java的Console类的使用方法及实例 java的Console类的使用方法及实例 JDK 6中提供了java.io.Console类专用来访问基于字符的控制台设备.如果你的Java程序要与Win ...
- JAVA中console方法怎么用,java的Console类的使用方法及实例
java的Console类的使用方法及实例 JDK 6中提供了java.io.Console类专用来访问基于字符的控制台设备.如果你的Java程序要与Windows下的cmd或者Linux下的Term ...
- Java平台,标准版Oracle JDK 9中的新功能
Java平台,标准版 Oracle JDK 9中的新增功能 版本9 E77563-05 2017年9月 JDK 9中的新功能概述 Java Platform,Standard Edition 9是一个 ...
- Java基础-->一篇讲全Java常用类(详细易懂,建议收藏)
Java基础–>一篇讲全Java常用类(详细易懂,建议收藏) 文章目录 Java基础-->一篇讲全Java常用类(详细易懂,建议收藏) 1.字符串相关的类 String类 概述 创建Str ...
最新文章
- 自监督学习现状和未来
- BASE64 编码和解码
- 人类基因组注释包org.Hs.eg.db
- E - 秋实大哥与战争
- 重磅合集 | 31 篇技术文章,带你从零入门 K8s (留言赠书)
- 顺序表基本操作函数总结
- 70行Python代码,获取中国数据库大会(DTCC)全部PPT
- IO 流的操作基本规律
- Android studio 常用快捷键的使用
- 网络安全与管理精讲视频笔记10-Windows隧道模式IPSec配置实验演示
- win7原版iso镜像下载 windows7官方原版全系列(正式版、专业版、企业版、家庭版)下载
- AD18快速简单入门,画电路原理图以及PCB图
- c语言五子棋设计报告及源代码,课程设计模板C语言之五子棋附源代码.pdf
- 动态生成的html click事件,如何动态生成HTML时将jquery附加到click()事件?
- EFI Driver Model(上)
- urchin.js作用以及urchin.js注释
- CSS中的line-height,height与line-height
- IDEA 2020主菜单隐藏了
- MySQL之数据类型
- Android Audio混音实践篇
热门文章
- [Redis6]常用数据类型_Zset有序集合
- [C++11]智能指针简单介绍
- C++类型转换基本语法
- dfs递归实现组合型枚举
- 番茄时间有感之关于在疫情期间我与ACM不得不说的故事
- 哈工大威海计算机组成原理,哈工大威海计算机组成原理复习.pdf
- word List40
- 数据结构---Kruskal最小生成树
- linux6.5dns装什么,CentOS6.5安装DNS服务
- matlab中scrsz的意思,matlab图片c存储方法