关于console类的readline()方法的用法问题 本帖最后由 binghuoedifier 于 2012-08-31 21:13:48 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那是以为控制台的console为空,所以会报空指针异常。public class Consoletest{public static void main(String[] args){ //测试一下是否为空,如果为空就返回,如果不为空进行循环输出 Console console=System.console(); if(console==null){ System.out.println("不能使用控制台"); return; } while(true){ String str=System.console().readLine(); System.out.println(str); } }} 以Javaw所执行的应用程式(eclipse)没有主控制台(console),所以取不到console物件,System.console()只能是null了。 请问,为什么它没有主控制台?如果一定要用console,有什么解决办法? 你是想要程序运行时获取从控制台输入的信息吗?可以用Scanner(System.in) 感谢 javaman_ka 找到问题的答案了,也感谢1楼和2楼,为我的问题指出了解决方向。【如果你的Java程序要与Windows下的cmd或者Linux下的Terminal交互,就可以用这个Java Console类代劳。Java要与Console进行交互,不总是能得到可用的Java Console类的。一个JVM是否有可用的Console,依赖于底层平台和JVM如何被调用。如果JVM是在交互式命令行(比如Windows的cmd)中启动的,并且输入输出没有重定向到另外的地方,那么就我们可以得到一个可用的Console实例。 当你有Eclipse或NetBean中运行以上代码时Console中将会有以下文字输出: Console is unavailable. 表示Java程序无法获得Console实例,是因为JVM不是在命令行中被调用的,或者输入输出被重定向了。在Eclipse诸如类似的IDE工具中运行Console类。如果没有对Console实例判空操作,结果使用了该实例会抛出java.lang.NullPointerException异常】 您好,我正在学习java的io操作,所以比较纠结console提供的这种方式,呵呵~ 楼主在windows下的cmd控制台上运行这个程序,是没有问题可以正常运行的。 我也学到这里了,上面的例子是string str=Console.ReadLine();希望能够给你提供帮助 java 执行文件批量导入oracle 求指教如何唤醒wait方法下的特定线程 关于JDK包里自带方法调用的迷惑~ java 谁能帮我详细的解释下setXORMode该函数的用法啊? 大家帮忙测试一下,顺便三分两百 有谁知道如何在SocketChannel中传递object,在线等待 如何用eclipse开发console程序 如何协调jini与j2sdk? 师兄:哪儿有免费资源下载? Jtable加入到了Jscrollpane中 为啥不显示列名啊 怎么将一个String类型 ,转化为一个char类型的数据?
public class Consoletest{
public static void main(String[] args){
//测试一下是否为空,如果为空就返回,如果不为空进行循环输出
Console console=System.console();
if(console==null){
System.out.println("不能使用控制台");
return;
}
while(true){
String str=System.console().readLine();
System.out.println(str);
}
}
}
请问,为什么它没有主控制台?如果一定要用console,有什么解决办法?
可以用Scanner(System.in)
【
如果你的Java程序要与Windows下的cmd或者Linux下的Terminal交互,就可以用这个Java Console类代劳。Java要与Console进行交互,不总是能得到可用的Java Console类的。一个JVM是否有可用的Console,依赖于底层平台和JVM如何被调用。如果JVM是在交互式命令行(比如Windows的cmd)中启动的,并且输入输出没有重定向到另外的地方,那么就我们可以得到一个可用的Console实例。 当你有Eclipse或NetBean中运行以上代码时Console中将会有以下文字输出: Console is unavailable. 表示Java程序无法获得Console实例,是因为JVM不是在命令行中被调用的,或者输入输出被重定向了。
在Eclipse诸如类似的IDE工具中运行Console类。如果没有对Console实例判空操作,结果使用了该实例会抛出java.lang.NullPointerException异常
】
您好,我正在学习java的io操作,所以比较纠结console提供的这种方式,呵呵~
希望能够给你提供帮助