【问题标题】:Pass an additional command after ProcessBuilder starts [duplicate]ProcessBuilder启动后传递一个额外的命令[重复]
【发布时间】:2017-10-10 22:31:40
【问题描述】:

我有一个使用 ProcessBuilder 创建的流程。它基本上是在包装一个 keytool 命令:https://www.tbs-certificates.co.uk/FAQ/en/627.html

在我拨打processBuilder.start() 之后,通常我的keytool 命令会要求输入密码。运行 processBuilder.start() 后如何输入密码?

【问题讨论】:

    标签: java


    【解决方案1】:

    您需要访问进程 IO 流,JavaDoc 表明您要使用的方法是:

    • getOutputStream() 用于进程 System.in
    • getInputStream() 进程 System.out
    • getErrorStream() 进程 System.err

    您需要将输入和错误流包装在 Scanners 中以从中读取行,并将输出流包装在 PrintStream 中,以便您可以使用与 System.out 类似的方式对其进行打印。

    您可以读取密码请求,然后将密码打印到进程中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-20
      • 2020-04-22
      • 2018-01-05
      • 1970-01-01
      • 2011-02-19
      • 2021-06-02
      相关资源
      最近更新 更多