Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как праивльно запустить внешнюю программу? / 8 сообщений из 8, страница 1 из 1
14.09.2007, 10:16:54
    #34799844
postman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как праивльно запустить внешнюю программу?
Здравствуйте подскажите как реализовать следущую вещь. При нажатие кнопки должен запуститься внешний исполняемый файл (скрипт на vbscript) он мне возвращает значение и в зависимости от него, программа дальше работает по разному. Запускаю примерно так
Код: plaintext
1.
2.
3.
4.
5.
ProcessBuilder proc =  new  ProcessBuilder ("c:\\temp\\hello.bat","hey");
Process process = proc.start();
InputStream in = process.getInputStream();
InputStream err = process.getErrorStream();
 int  result = process.waitFor();

Работает все хорошо в result то значение что вернул скрипт после выполнения, но вот окно программы, становится белым и ничего не отображается, я так понимаю что она(программа) ждет выполнения скрипта, и не обновляет содержимое фрейма. Но мне надо чтоб во время выполнения скрипта, пользователь вносил данные во фрейме. Как мне это реализовать?
...
Рейтинг: 0 / 0
14.09.2007, 10:22:04
    #34799864
Juga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как праивльно запустить внешнюю программу?
Thread, Runable
...
Рейтинг: 0 / 0
14.09.2007, 12:20:09
    #34800391
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как праивльно запустить внешнюю программу?
in и err надо ещё вычитывать.
...
Рейтинг: 0 / 0
14.09.2007, 12:25:59
    #34800431
postman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как праивльно запустить внешнюю программу?
Blazkowiczin и err надо ещё вычитывать.
В смысле? Можете пояснить, не совсем понял.
...
Рейтинг: 0 / 0
14.09.2007, 12:41:28
    #34800517
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как праивльно запустить внешнюю программу?
postman Blazkowiczin и err надо ещё вычитывать.
В смысле? Можете пояснить, не совсем понял.
http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html
...
Рейтинг: 0 / 0
14.09.2007, 12:44:03
    #34800536
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как праивльно запустить внешнюю программу?
postmanВ смысле? Можете пояснить, не совсем понял.
Ссылку уже привели. В двух словах:
запись в эти потоки блокирует приложение которое ты вызваешь. То есть приложению надо что-то пулить в лог, в консоль, да куда угодно. Хотя бы пару символов. Оно его и пишет. Но никому особое не надо создвать какой-то особенный буфер для этой консоли. Поэтому твоя задача вычитать все данные из этих потоков чтобы разблокировать твой процесс который хочет туда писать.
...
Рейтинг: 0 / 0
17.09.2007, 14:56:13
    #34805181
postman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как праивльно запустить внешнюю программу?
Пробовал делать как указано в ссылке
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 Runtime rt =Runtime.getRuntime();
         try 
        {
            proc=rt.exec(command);
            
            InputStream stderr = proc.getErrorStream();
            InputStreamReader isr =  new  InputStreamReader(stderr);
            BufferedReader br =  new  BufferedReader(isr);
            String line =  null ;
            System.out.println("<ERROR>");
             while  ( (line = br.readLine()) !=  null )
                System.out.println(line);
            System.out.println("</ERROR>");
             try 
            {
                 int  exitVal = proc.waitFor();
            }
             catch  (InterruptedException ex)
            {
                ex.printStackTrace();
            }
       
        }
         catch  (IOException ex)
        {
            ex.printStackTrace();
        }

Результат такой же, что я делаю не так?
...
Рейтинг: 0 / 0
17.09.2007, 15:07:30
    #34805234
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как праивльно запустить внешнюю программу?
Если попробовать дочитать до конца, то можно обнаружить что зачастую вычитку нужно пускать в отдельных потоках.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как праивльно запустить внешнюю программу? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]