加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java.io.Console – 与stdin重定向兼容的实用程序?

发布时间:2020-12-14 19:33:41 所属栏目:Java 来源:网络整理
导读:在一些 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.
在一些 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);
    }
}

密码相关功能应手动完成.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读