【问题标题】:how to pass parameters to a process during runtime如何在运行时将参数传递给进程
【发布时间】:2013-02-21 11:20:02
【问题描述】:

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

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

【问题讨论】:

标签: java parameters process runtime.exec


【解决方案1】:

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

【讨论】:

  • 我写这个吗?诠释一个= 1; BufferedWriter stdOut = new BufferedWriter(new OutputStreamWriter(p.getOutputStream())); stdOut.write(a);
猜你喜欢
  • 1970-01-01
  • 2012-09-01
  • 1970-01-01
  • 2012-05-27
  • 1970-01-01
  • 2011-05-31
  • 1970-01-01
  • 1970-01-01
  • 2011-10-08
相关资源
最近更新 更多