在一些
Java库中是否有一个实用程序类提供类似
java.io.Console的设施但与Bash管道重定向输入兼容?
以下代码:
import java.io.Console; public class Foo { public static void main(String args[]) { Console cons = System.console(); String foo = cons.readLine(); // line-5 } }
在执行以下操作时,将在第5行抛出NPE:
echo "test" | java Foo
除了使用System.in之外,这也提到了in this SO discussion而没有提供任何替代方案.
解决方法
请尝试以下方法:
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); } }
密码相关功能应手动完成.