System.console().readLine()

JavaLearningkkk 2013-11-29 05:03:52
为什么在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);
}
}
}
...全文
440 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
WayneXuan 2013-11-30
  • 打赏
  • 举报
回复
eclipse运行时用的是javaw,没有控制台,在命令行中用java.exe 运行就没问题了 如果需要经常这么用就配置一个外部工具
姜小白- 2013-11-29
  • 打赏
  • 举报
回复
怎么解决的呢,求分享下答案。
JavaLearningkkk 2013-11-29
  • 打赏
  • 举报
回复
问题解决了,非常感谢!
姜小白- 2013-11-29
  • 打赏
  • 举报
回复
以javaw所执行的应用程式(eclipse)没有主控制台(console),所以取不到console物件,System.console()只能是null了。
javaw.exe 跟java命令相对的,运行java命令时,会出现并保持一个console窗口,
程序中的信息可以通过System.out在console内输出,而运行javaw,
开始时会出现console,当主程序调用之后,console就会消失
刚试了下,直接在命令窗口通过javac 编译后,java 执行这个console是没问题的
JavaLearningkkk 2013-11-29
  • 打赏
  • 举报
回复
怎么解决呢?
姜小白- 2013-11-29
  • 打赏
  • 举报
回复
public static Console console() 返回与当前 Java 虚拟机关联的唯一 Console 对象(如果有)。 返回: 系统控制台(如果有),否则返回 null。
时光清浅 2013-11-29
  • 打赏
  • 举报
回复
楼主,我调试了一下 Console console=System.console(); 这个console对象是null,所以空指针了

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧