JAVA中的console是什么

JAVA中的console是什么,第1张

此类包含多个方法,可访问与当前 Java 虚拟机关联的基于字符的控制台设备(如果有)。

虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式。如果虚拟机从一个交互式命令行开始启动,且没有重定向标准输入和输出流,那么其控制台将存在,并且通常连接到键盘并从虚拟机启动的地方显示。如果虚拟机是自动启动的(例如,由后台作业调度程序启动),那么它通常没有控制台。

如果此虚拟机具有控制台,那么它将由此类唯一的实例(可通过调用 System.console() 方法获得)表示。如果没有可用的控制台设备,那么对该方法的调用将返回 null。

读写 *** 作是同步的,以保证关键 *** 作能完整地完成;因此调用方法 readLine()、readPassword()、format()、printf() 以及对 reader() 和 writer() 返回对象的读取、格式化和写入 *** 作在多线程情况下可能阻塞。

在 reader() 和 writer() 返回的对象上调用 close() 不会关闭这些对象的底层流。

在到达控制台输入流的尾部时,如键入 control-D (Unix) 或键入 control-Z (Windows),读取控制台的方法将返回 null。如果之后在控制台输入设备上输入了其他字符,则后续读取 *** 作将成功执行。

除非另行指定,否则将 null 参数传递给此类中的任何方法都会抛出 NullPointerException。

安全注释: 如果应用程序需要读取密码或其他安全数据,则它应该使用 readPassword() 或 readPassword(String, Object...),并在执行后手工将返回的字符数组归零,以最大限度地缩短内存中敏感数据的生存期。

Console cons

char[] passwd

if ((cons = System.console()) != null &&

(passwd = cons.readPassword("[%s]", "Password:"))!= null) {

...

java.util.Arrays.fill(passwd, ' ')

}

public class ConsoleApp{

public static void main(String[] args){

System.out.println(args)

}

}

在控制台的调用方式:

java ConsoleApp ("hello", "china", "th")

System.out.println(a[i]+“-”)

这句输出会自动换行,换个吧,用System.out.print();


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12014840.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存