захватить вывод из C ++ в Java без возврата

Я работаю над Java SWING, чтобы сделать графический интерфейс для программирования на C ++. Мне нужно, чтобы программа на С ++ выполнялась в цикле, не возвращаясь к Java. Во время этого цикла я хочу захватить некоторый вывод, не проходя через
вернуть 0; в программе с ++

я могу захватить вывод из файла C ++, не возвращаясь в Java GUI ??
это мой и в процессе в моем коде

 try {
int out = 0;
String line;
OutputStream stdin = null;
InputStream stderr = null;
InputStream stdout = null;

// calling the exe file
Process process = new ProcessBuilder("unpattern.exe").start();
stdin = process.getOutputStream();
stderr = process.getErrorStream();
stdout = process.getInputStream();

// input process
// "write" the parms into stdin
line = "1";
stdin.write(line.getBytes());
stdin.flush();

//line = "tx.getText()" + "\n";
// stdin.write(line.getBytes());
// stdin.flush();

stdin.close();
// output process
// clean up if any output in stdout
BufferedReader brCleanUp =
new BufferedReader(new InputStreamReader(stdout));

while ((line = brCleanUp.readLine()) != null) {
// counter of the defects
System.out.println(line);

} catch (IOException ex) {
Logger.getLogger(QeyeGui3.class.getName()).log(Level.SEVERE, null, ex);
}

1

Решение

В цикле while отсутствует закрывающая скобка:

            // ....
while ((line = brCleanUp.readLine()) != null) {
// counter of the defects
System.out.println(line);
// **** it should go here
}

Я предлагаю вам постоянно получать текст, который передается в BufferedReader в вашем цикле while. Если вы делаете это в SwingWorker приложения Swing, то вы можете использовать пару методов публикации / процесса для обновления графического интерфейса Swing передаваемой информацией.

4

Другие решения

я мог бы найти подходящее решение для моей проблемы в этой ссылке
Захватите вывод DOS (командная строка) и отобразите его в кадре JAVA
я добавил буфер в построитель строк, чтобы я мог сделать это 🙂
спасибо за любую помощь 🙂

0

По вопросам рекламы [email protected]