期間參數傳遞到過程中,我有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版本? – fglez 2013-03-04 11:32:03
這是最新的,jdk 7 – se7en 2013-03-06 11:41:15
看到接受的答案http://stackoverflow.com/questions/3643939/java-process-with-input-output-stream – fglez 2013-03-06 11:54:11