Как общаться с другим процессом в Java? - PullRequest
0 голосов
/ 24 апреля 2019

Я хочу запустить другой процесс из моего Java-кода и связаться с ним;Я имею в виду, что основная программа вызовет другую программу и выдаст ей параметры.

Другими словами: вторая программа запущена и запрашивает параметры, и основная программа должна прочитать выходные данные второй программы и в соответствии сВывод основной программы должен дать ей значения.Я не знаю, как написать этот код.Большое вам спасибо.

основная программа:

ProcessBuilder builder = new ProcessBuilder("password.jar", "Aharon");
builder.redirectErrorStream(true);
Process p = builder.start();
InputStream i = p.getInputStream();
OutputStream o = p.getOutputStream();
BufferedReader br = new BufferedReader(new
    InputStreamReader(i));
BufferedWriter bw = new BufferedWriter(new
    OutputStreamWriter(o));
bw.write("aharon");
bw.flush();
System.out.println(br.readLine());
String sudo = "am326294642";
bw.write("aharon");
bw.flush();
int x;
System.out.println(br.readLine());
while ((x = i.read()) != -1)
  System.out.print((char) x);
o.write(sudo.getBytes());
while ((x = i.read()) != -1)
  System.out.print((char) x);

вторая программа, которая должна быть запущена:

Scanner in = new Scanner(System.in);
System.out.println("insert your password");
while (!in.next().equals("aharon"))
  System.out.println("wrong!!");
System.out.println("you passed !!! !!! !");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...