![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Demetrio |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 1.5.2007 Репутация: нет Всего: нет |
Новичок в java
далее Как правильно обеспечить удерживание процесса(или сессии)? На данный момент делаю так, но ... 1. Второй раз вызов метода get_info ничего не вовзращает..... где накосячил? 2. Как мне очистить OutPutStream , так как мой mytelnet при старте выдает служебную информацию.... p.s. Конечно mytelnet не telnet никакой... просто консольная клиентская утилитка. Можно в ней затык.
Это сообщение отредактировал(а) tux - 1.5.2007, 10:04 |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Зачем ты закрываешь поток (buffOut.close();)? Не ты его открывал, не тебе его и закрывать.
Просто прочитать ее из process InputStream. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| Demetrio |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 1.5.2007 Репутация: нет Всего: нет |
Без закрытия close ничего не выводит вовсе.... может еще как надо подкрректировать...
НЕмного модернизировал под ProcessBuilder, но сути это не меняет... Если у кого есть пример, как посылать команды открытому процессу по мере необходимости, не вызывая ProcessBuilder каждый раз, то с радостью воспользуюсь.... Еще раз повторюсь первый вызов метода get_info проходит на ура
Это сообщение отредактировал(а) powerOn - 1.5.2007, 16:48 |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Модератор: Используйте кнопку КОД для оформления исходников!
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Используй вместо close() - flush(). -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Demetrio |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 1.5.2007 Репутация: нет Всего: нет |
нет, данный вариант тоже не проходит
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Akeem |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
Вопрос по классу CmdTest.
Как можно переписать этот класс так чтобы результаты выводились не на консоль, а в в стринг. Или плиз покажите строчку где выводятся результаты работы команды. Сорри. Смотрю я на класс и не вижу где эти результаты выводятся. :-[ -------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 4 Всего: 317 |
Spooler перегоняет данные из input- в output-stream, тредом висит, блокируется по in.read(). Пока есть данные в потоке тред разблокирован, зачитывает их в переданный output-stream (81-82). Рядом с out.write поставь StringBuilder.append(buffer, 0, read). Если необходимо, то по in.available() > 0 можно определить заблокируемся ли на следующей итерации.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Akeem |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
прописал строку StringBuilder.append(buffer, 0, read) перед out.write. И еклипс начал ругатся на buffer
Пишет что нужно чтобы он был CharSequence А если использовать замисть переганяния StringBufferInputStream он вроде сражу должен возвращать нужный стринг. Добавлено через 10 минут и 30 секунд Решил проблему.
Теперь у меня возник вопрос такой. Возможен ли вывод каждого выполнения команды отдельно. Например выполнил одну команду вывел её результат. И как это сделать? П.С. Последовательный вывод возможен для одной консоли. -------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
|||
|
||||
| LSD |
|
||||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Вместо:
пиши:
а когда хочешь получить строку:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||||
|
|||||||
| Akeem |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
Куда мне это добавить? В функцию exec? П.С. Я добавил ее в эту функцию. но мне после выполнения команды например: test.exec("C:"); test.exec("CD"); выдает [] -------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Туда где тебе надо получить результат выполнения команды. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Akeem |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
Вот написал метод для вывода результатов
Результат выполнения команд
Остается плачевным -- те выводит пустую консоль. Замисть того чтобы вывести C:\ Добавлено через 2 минуты и 11 секунд П.С. Сорри за тупые вопросы. Чет туплю седня. -------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
||||
|
|||||
| Akeem |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
Вот как нужно выводить результат каждой команды:
Функция для перехвата вывода:
(генетически модифицированая функция написаная ЛСД (спасибо ему за это огромное) Функция вывода:
Вызов:
Единственный минус не понятно каким Р оно работает. Те при дебаге все работает как нужно, но при обычном выполнении ничего не выводится. -------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
||||||
|
|||||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |