我们何时应该使用控制台类?

Rav*_*avi 10 console bufferedreader java.util.scanner java-5 java-6

我正在读关于Console课程,在第一行,它是写的

Java 6的新手,当我们Java SE 6从命令行运行时,我们通常使用控制台类对象

那么,这意味着我们通过命令行隐式使用控制台类?

然后,我开始寻找有关Console类的更多细节,我在javaConsole链接中找到了来自控制台类的Input.所以,总结了一些观点

  1. 控制台类只能在IDE之外使用System.console().readLine();
  2. Consoleclass 从控制台读取密码或密码,并使用回显禁用readPassword()

虽然,我们有Scanner类和BufferedReader类来从控制台读取输入,并且是在早期添加的Java 5.那么,仅仅因为安全原因Console类被添加了Java 6?或者是否有其他优势可以使用本课程.

有人可以分享更多关于Console课程的细节吗

iza*_*era 4

Console 类直接从进程控制台读取(在 Unix 系统中通常是 /dev/console)。控制台与 System.in 的不同之处在于,启动命令时它无法重定向。它还用于读取密码,因为从控制台读取您可以控制是否回显正在键入的字符。

要了解有关此类的更多信息,请阅读 Unix 系统中的控制台和标准输入(这通常是 Unix 的事情,我不太确定它如何映射到 Windows 系统)。

最后,扫描仪可以读取任何输入:文件、流或控制台本身,因此它与控制台不同。