コンソールから入力を受け取る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.");
}
}
明らかに、それはうまくいきません。私の質問は、実行時に整数をプロセスに渡すにはどうすればよいですか? コマンドラインパラメータとして渡したくありません。