2013-01-31 51 views
5

在某些Java庫中是否提供類似於java.io.Console的設施的實用程序類,但與輸入的Bash管道重定向兼容?java.io.Console - 與stdin重定向兼容的實用程序?

下面的代碼:做的時候

import java.io.Console; 
public class Foo { 
    public static void main(String args[]) { 
    Console cons = System.console(); 
    String foo = cons.readLine(); // line-5 
    } 
} 

將拋出NPE上線5:

echo "test" | java Foo 

這也被提及in this SO discussion沒有提供任何替代方案節省使用系統。在

+0

這裏使用'System.in'有什麼問題?畢竟這是你所追求的:系統輸入流(也稱爲「stdin」)。 –

+0

System.in沒什麼問題我只是想知道我是否可以吃我的蛋糕,也可以吃它。 –

回答

3

嘗試以下操作:

import java.io.BufferedReader; 
import java.io.InputStreamReader; 

public class Foo { 
    public static void main(String args[]) throws Exception { 
     BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 
     String foo = in.readLine(); // line-5 
     System.out.println(foo); 
    } 
} 

密碼相關的功能應手動完成。