別のJavaプログラムを使用して実行したいProcessBuilder
コードを使用しました
Process pr = rt.exec("cmd /c cd C:\\Users\\naman\\Desktop & java CalculateSum");
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
BufferedReader error = new BufferedReader(new InputStreamReader(pr.getErrorStream()));
BufferedWriter output= new BufferedWriter(new OutputStreamWriter(pr.getOutputStream()));
String line = null;
while ((line = input.readLine()) != null) {
System.out.println(line);
}
output.write("10");
output.write("30");
while ((line = input.readLine()) != null) {
System.out.println(line);
}
int exitVal = pr.waitFor();
System.out.println("Exited with error code " + exitVal);
CalculateSumには次のコードがあります。
System.out.print("Enter 1 st value : ");
a=Integer.parseInt(br.readLine());
System.out.print("\nEnter second number : ");
b=Integer.parseInt(br.readLine());
System.out.println("\nresult is : "+(a+b));
私の基本的な動機は、別のJavaプログラムからJavaプログラムを実行することです。
注:入力を受け取るためにコマンドライン引数を使用したくありません。ProcessBuilder
また、同じ目的で使ってみましたが、うまくいきませんでした。