2

我有从控制台获取输入的 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.");
 }
}

显然,这是行不通的。我的问题是,如何在运行时将整数传递给进程?我不想将它作为命令行参数传递。

4

1 回答 1

0

在使用 Process 的 inputStream 之前使用 outputStream。将整数写入 output.Stream

于 2013-02-21T11:24:07.577 回答