在这里和围绕着在各种环境中使用Java的System.console()的网络有很多问题。他们中的大多数都与获得null返回的限制和警告有关,即“当没有可用的控制台时”。很公平。
我的困惑源于看到null返回,即使我在Windows上使用命令行环境工作也是如此。 (注意,这是不关于从Eclipse内部做任何事情;已经被问过并回答了一百万次,我甚至没有使用Eclipse。也没有谈论双击或右键单击或任何其他类型的JAR文件;当你从GUI文件管理器启动时,显然没有控制台。)
到目前为止,我在Windows 7下尝试了以下组合:
也
我认为java / javaw的区别在于一个人有一个控制台而另一个没有,但即使我从命令行提示符运行了所有12次尝试,System.console()也是永远是空的。
testbed代码很简单,并且在其他操作系统(例如,Linux,其中System.console()始终存在于xterm和whatnot中,并且在从/ dev / null重定向stdin时变为null) )。
当用户从CLI运行时,我们必须牺牲什么处女山羊来向Java的黑暗之神获取Windows中的System.console()?