如何在运行时将参数传递给进程

时间:2013-02-21 11:20:02

标签: java parameters process runtime.exec

我有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.");
 }
}

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

1 个答案:

答案 0 :(得分:0)

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