我有C代码从控制台输入,
main() {
int value;
printf("Enter a value");
scanf("%d", &value);
printf("the value is, %d", value);
return;
}
现在我编译并创建一个.exe文件。 (比如test.exe)
之后我想从java代码中调用该可执行文件。
所以,我用了
public class JavaTest {
static String s=null;
public static void main(String[] args) throws java.io.IOException, java.lang.InterruptedException {
java.lang.Runtime rt = java.lang.Runtime.getRuntime();
System.out.println("start");
java.lang.Process p = rt.exec("test.exe");
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
p.waitFor();
System.out.println("done.");
}
}
显然,这不起作用。我的问题是,如何在运行时将整数传递给进程?我不想将它作为命令行参数传递。
答案 0 :(得分:0)
在使用Process的inputStream之前使用outputStream。将整数写入output.Stream