Дождитесь окончания команды - PullRequest
0 голосов
/ 20 ноября 2018

Есть команда, которая запускает exe, она делает вывод, и когда эта команда заканчивается, тогда я должен запустить upload ();method.

run.command(exe_path, txt_path);
run.start();

TimeUnit.SECONDS.sleep(20);

upload();

Как заменить метод статического сна?

1 Ответ

0 голосов
/ 20 ноября 2018

Используя ProcessBuilder, вы сможете вызвать Process.waitFor(), чтобы дождаться завершения команды.

Process p = new ProcessBuilder("foo.exe", "arg1").start();

// handle any input and output
InputStream stdout = p.getInputStream();
OutputStream stdin = p.getOutputStream();
InputStream stderr = p.getErrorStream();

int ret = p.waitFor(); // <- wait for exit
...