当前位置:编程学习 > JAVA >>

System.console().readLine()

为什么在Eclipse下使用System.console().readLine()获取控制台输入时提示java.lang.NullPointerException
public class Test{
 public static void main(String args[]){
  while(true){
   String str=System.console().readLine();
   System.out.println(str);
  }
 }
} java --------------------编程问答-------------------- 楼主,我调试了一下

Console console=System.console();

这个console对象是null,所以空指针了 --------------------编程问答-------------------- public static Console console()
返回与当前 Java 虚拟机关联的唯一 Console 对象(如果有)。 
返回:
系统控制台(如果有),否则返回 null。
--------------------编程问答-------------------- 怎么解决呢? --------------------编程问答-------------------- 以javaw所执行的应用程式(eclipse)没有主控制台(console),所以取不到console物件,System.console()只能是null了。 
javaw.exe 跟java命令相对的,运行java命令时,会出现并保持一个console窗口,
程序中的信息可以通过System.out在console内输出,而运行javaw,
开始时会出现console,当主程序调用之后,console就会消失
刚试了下,直接在命令窗口通过javac 编译后,java 执行这个console是没问题的
--------------------编程问答-------------------- 问题解决了,非常感谢! --------------------编程问答-------------------- 怎么解决的呢,求分享下答案。 --------------------编程问答-------------------- eclipse运行时用的是javaw,没有控制台,在命令行中用java.exe 运行就没问题了
如果需要经常这么用就配置一个外部工具
补充:Java ,  Eclipse
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,