gpt4 book ai didi

java - 如何提供用户输入以在 java 中处理?

转载 作者:太空宇宙 更新时间:2023-11-03 23:24:04 25 4
gpt4 key购买 nike

我正在尝试从 java 编译和运行 c 程序。当运行 c 程序时,我可以得到错误和 c 程序的输出文本。但是,如果 c 程序期望用户输入来执行其程序,我如何从 java 代码提供该用户输入?这就是你所做的。

public void runFile() {

appendToPane(pane, "----------- Program is executing ------------ \n", Color.LIGHT_GRAY);
Process p;
try {
p = Runtime.getRuntime().exec(_TEMP_LOCATION + _FILE_NAME.split(".c")[0]);//exe file exist inside project root folder

BufferedReader reader1 = new BufferedReader(new InputStreamReader(p.getErrorStream()));
BufferedReader reader2 = new BufferedReader(new InputStreamReader(p.getInputStream()));
//OutputStream a = p.getOutputStream();
String line;
while ((line = reader1.readLine()) != null) {
appendToPane(pane, line + "\n", null);
}
while ((line = reader2.readLine()) != null) {
appendToPane(pane, line + "\n", null);
}
//p.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
appendToPane(pane, "----------- executing is done ------------ \n", Color.LIGHT_GRAY);
}

最佳答案

Process 还为您提供了一个 OutputStream,您可以向其写入内容,这些内容将作为输入传递给您的流程。参见 http://docs.oracle.com/javase/7/docs/api/java/lang/Process.html#getOutputStream() .

关于java - 如何提供用户输入以在 java 中处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31595861/

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