Я пытаюсь получить консольный вывод из внешнего приложения в моем приложении. Когда я вызываю приложение externall из моего кода, оно зависает с сообщением:
Настройка ведения журнала ...
Настройка log4j из: C: \ GPAT \ log4j.cfg
и ничего не происходит. Я искал в интернете, и кажется, что это может быть проблема потока. Но я не могу изменить это внешнее приложение, и я должен пройти через log4j. Я читаю внешнее приложение так:
StringBuffer output = new StringBuffer();</p>
<pre><code> try {
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(GSATCommand);
BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream()));
System.out.println("Test running...");
String line = null;
while ((line = input.readLine()) != null) {
System.out.println(line); // Writes the test output to console
output.append(line); output.append("\n");
}
int exitVal = proc.waitFor();
System.out.println("Process exitValue: " + exitVal);
System.out.println("Test successfully executed");
} catch (Throwable t) {
t.printStackTrace();
}
Спасибо за чтение.