gpt4 book ai didi

java - 将 Bash 脚本移植到 Java

转载 作者:行者123 更新时间:2023-12-02 08:36:48 27 4
gpt4 key购买 nike

我正在尝试使用 Java 中的 Process 或 ProcessBuilder 对象来模拟下面的 bash shell 脚本的功能。我并不是 100% 清楚如何进行标准输入重定向。我怎样才能做到这一点?

#
# Redirect shell echo command from standard output to file
# This will construct the input file
#
exec 1> $STDIN
echo -e "$NFILE\n$GFILE\n$INPUT\n$OUTPUT\n$CAX"
exec 1>&-

#
# Run executable redirecting standard in as the input file and output to a log file
#
"$EXE" < $STDIN >& $LOG

最佳答案

Process对象流的命名具有误导性。您需要写信给OutputStream Process 对象的。

来自文档:

All its standard io (i.e. stdin, stdout, stderr) operations will be redirected to the parent process through three streams (Process.getOutputStream(), Process.getInputStream(), Process.getErrorStream()).

您还必须同时使用进程输出和标准错误,否则缓冲区将填满并且进程将阻塞。请参阅here了解更多信息。

关于java - 将 Bash 脚本移植到 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1460865/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com