关于console类的readline()方法的用法问题
为了测试console类的readline()方法,我试了以下几种方案: 
 1、 
 [code=Java] 
 public   class   Consoletest   { 
 	public   static   void   main(String[   args)   {		 
 		while(true){ 
 			String   str   =   System.console().readLine(); 
 			System.out.println(str); 
 		} 
 	} 
 }[/code] 
 2、 
 [code=Java] 
 public   class   Consoletest   { 
                         public   static   String   str=null; 
 	public   static   void   main(String[]   args)   {		 
 		while(true){ 
 			str   =   System.console().readLine(); 
 			System.out.println(str); 
 		} 
 	}   
 }[/code] 
 3、 
 [code=Java] 
 public   class   Consoletest   { 
 	public   static   void   main(String[]   args)   {		 
 		while(true){ 
 			String   str   =   new   String(System.console().readLine()); 
 			System.out.println(str); 
 		} 
 	}   
 }[/code] 
 但运行时均抛出
java.lang.NullPointerException异常,求大神解释原因以及解决方案。
------解决方案--------------------那是以为控制台的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了。