我尝试启动一个使用ProcessBuilder
创建的进程,该进程需要管道输入。我的意思是,当从终端运行时,命令看起来像escaped_text | process --opt1
。请注意,当stdin
为空时,该过程不等待用户输入并且行为完全不同。因此,写入流程stdin
将不起作用。
ProcessBuilder
的文档建议方法redirectInput创建一个将stdin
设置为File
的流程。问题是,我已将修改过的文件内容加载到String
中。我不认为必须将内容写入临时文件只是为了打开和读取该文件的过程。
有没有办法手动创建Process
StreamReader
或类似配置为stdin
?