
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
21.06.2012, 12:06:55
|
|||
|---|---|---|---|
Форматирование вывода getRuntime |
|||
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Ответ вызываемой программы записывается в переменную. Когда вывожу эту переменную на экран, то теряются переносы строк. Как сохранить формитирование? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2012, 12:26:31
|
|||
|---|---|---|---|
|
|||
Форматирование вывода getRuntime |
|||
|
#18+
readLine() читает строку без самого переноса. Такая конкатенация в цикле - убивает производительсность в Java. message = message + s; Не могу понять почему ваш код вообще работает. p.waitFor(); блокирует поток, и никакая вычитка дальше не будет работать пока дочерний процесс не помрет. Такие вычитки, обычно, делают в отдельных потоках. В Java 7 ничего такого городить не нужно. Там есть методы redirect*, которые уже это реализуют. В Java 6 есть другой метод redirect, который сливает IN и ERR вместе, так что их не нужно вычитывать по отдельности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2012, 13:03:25
|
|||
|---|---|---|---|
Форматирование вывода getRuntime |
|||
|
#18+
Blazkowicz, Спасибо за ответ авторНе могу понять почему ваш код вообще работает. p.waitFor(); блокирует поток, и никакая вычитка дальше не будет работать пока дочерний процесс не помрет. - блокирует на время выполнения внешней программы. Как только она отработает станет доступным лог выполнения. авторТакая конкатенация в цикле - убивает производительсность в Java. message = message + s; - Подскажите, как лучше сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2012, 13:04:58
|
|||
|---|---|---|---|
|
|||
Форматирование вывода getRuntime |
|||
|
#18+
StringBuilder ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2012, 13:06:38
|
|||
|---|---|---|---|
|
|||
Форматирование вывода getRuntime |
|||
|
#18+
Максим Нблокирует на время выполнения внешней программы. Как только она отработает станет доступным лог выполнения. Это очень интересно, потому что обычно дочерний процесс просто зависает когда он пытается вывести что-то в консоль, но ваш Java код этого ещё не читает. Возможно, как-то вам повезло с процессом и у него жирный внутренний буфер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2012, 13:10:35
|
|||
|---|---|---|---|
Форматирование вывода getRuntime |
|||
|
#18+
BlazkowiczМаксим Нблокирует на время выполнения внешней программы. Как только она отработает станет доступным лог выполнения. Это очень интересно, потому что обычно дочерний процесс просто зависает когда он пытается вывести что-то в консоль, но ваш Java код этого ещё не читает. Возможно, как-то вам повезло с процессом и у него жирный внутренний буфер. С помощью этого кода я запускаю несколько внешних программок: sqlplus, архиватор и т.д. Пока работал нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2012, 13:39:38
|
|||
|---|---|---|---|
Форматирование вывода getRuntime |
|||
|
#18+
Убрал p.waitFor(); получил ошибку: Код: java 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2012, 13:45:08
|
|||
|---|---|---|---|
|
|||
Форматирование вывода getRuntime |
|||
|
#18+
Максим НУбрал p.waitFor(); получил ошибку: Код: java 1. 2. Логично что если процесс не завершен, то и exit code у него отсутствует. Это к вычитке данных отношения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.06.2012, 13:47:33
|
|||
|---|---|---|---|
Форматирование вывода getRuntime |
|||
|
#18+
BlazkowiczМаксим НУбрал p.waitFor(); получил ошибку: Код: java 1. 2. Логично что если процесс не завершен, то и exit code у него отсутствует. Это к вычитке данных отношения не имеет. Туплю, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2131516]: |
0ms |
get settings: |
20ms |
get forum list: |
23ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
57ms |
get topic data: |
19ms |
get forum data: |
5ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 320ms |
| total: | 530ms |

| 0 / 0 |
