我想通过Java运行C代码来打印由用户输入的整数。我正在使用ProcessBuilder类。无法运行并通过Java为C代码提供输入
的Java代码给出相同的输出(stdout:0)为每一个整数,I输入通过outputstream
。
public class test {
public static void main(String args[]) throws IOException {
String line;
ProcessBuilder builder = new ProcessBuilder("first1.exe");
Process process = builder.start();
OutputStream stdin = process.getOutputStream();
InputStream stdout = process.getInputStream();
InputStream err=process.getErrorStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stdout));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(stdin));
writer.write(8);
writer.flush();
line = reader.readLine();
System.out.println("Stdout: " + line);
}
}
我总是得到输出:
stdout:0
为first1.exe的C代码:
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
printf("%d",n);
return 0;
}