gpt4 book ai didi

java - 将 C++ 程序输出作为 Java 输入

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:51:49 24 4
gpt4 key购买 nike

我有这样一种情况,我希望我的 Java 程序作为 BASH 脚本运行,而 BASH 脚本又将运行 C++ 程序。

我希望将 C++ 程序的输出(打印到终端的纯文本字符串)作为 Java 程序的输入。

我的第一次尝试是使用以下代码从终端读取输入,但我不确定如何将其从用户输入转换为自动获取 C++ 输入。

Console c;
c = System.console();
if (c == null) {
System.out.println("No console.");
System.exit(1);
}
String data = c.readLine();

然后我尝试使用 InputStreamReader 以及重定向 C++ 程序的输出:

Java代码:

BufferedReader input = null;
try {
input = new BufferedReader(new InputStreamReader(System.in));
String htmlLine = null;
while ((htmlLine = input.readLine()) != null) {
System.out.println(htmlLine);
}
}

重定向输出的命令:

java -jar program.jar arg1 arg2 arg3 < ./runActivities.sh

但是结果是它只是将 runActivities.sh 的内容打印到终端。

最佳答案

看起来您已经准备好了所有的 Java 和 C++ 代码。缺少的拼图似乎是 shell 重定向。您应该查阅您正在使用的 shell 的手册并查找重定向。如果您使用的是 bash shell,重定向应该如下所示:

$ ./runActivities.sh | java -jar program.jar arg1 arg2 arg3

关于java - 将 C++ 程序输出作为 Java 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30524060/

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