Re: Runtime.getRuntime().exec()
От: Tony2k  
Дата: 08.12.04 12:37
Оценка: -2
Здравствуйте, MikhailVM, Вы писали:

MVM>Почему не работает

MVM>
MVM>  Runtime.getRuntime().exec("cmd.exe");
MVM>

MVM> а
MVM>
MVM> Runtime.getRuntime().exec("calc.exe");
MVM>

MVM> работает

Это дело, Runtime.getRuntime().exec(), очень привередливое. Тонкостей много, запустить так можно далеко не все. Универсальный алгоритм для запуска любой программы или команды, такой:
-Создаем в java.io.tempdir файлик run.bat.
-Пишем в него нашу команду.
-Выполняем этот файл, через Runtime.getRuntime().exec()
-Обязательно (!) у процесса получаем InputStream и вычитаем из него вывод (даже если он не нужен). Можно для этого создать Thread. Иначе может не работать.
Re[4]: Runtime.getRuntime().exec()
От: Blazkowicz Россия  
Дата: 08.12.04 12:58
Оценка: 2 (1)
Здравствуйте, Tony2k, Вы писали:

B>>А зачем run.bat???

T>Что бы можно было выполнять скажем такие команды, как "dir" или "start readme.html"...


        Process process = Runtime.getRuntime().exec("cmd /c dir");//"cmd /c start readme.html"
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
        String s;
        while((s = bufferedReader.readLine()) != null) System.out.println(s);
Re[2]: Runtime.getRuntime().exec()
От: MikhailVM  
Дата: 08.12.04 12:30
Оценка: :)
Здравствуйте, VKovalenko, Вы писали:

VK>Какие исключения выдает? В чем проблема?


В том то и дело что вообще ничего не выдает.

 try {
    Runtime.getRuntime().exec("cmd.exe"); 
      }
 catch (Exception ee) {
    System.out.println(ee);
        }
... << RSDN@Home 1.1.3 stable >>
Runtime.getRuntime().exec()
От: MikhailVM  
Дата: 08.12.04 12:15
Оценка:
Почему не работает
  Runtime.getRuntime().exec("cmd.exe");

а
 Runtime.getRuntime().exec("calc.exe");

работает
... << RSDN@Home 1.1.3 stable >>
Re: Runtime.getRuntime().exec()
От: VKovalenko Украина  
Дата: 08.12.04 12:25
Оценка:
Здравствуйте, MikhailVM, Вы писали:

MVM>Почему не работает

MVM>
MVM>  Runtime.getRuntime().exec("cmd.exe");
MVM>


Какие исключения выдает? В чем проблема?

MVM> а

MVM>
MVM> Runtime.getRuntime().exec("calc.exe");
MVM>

MVM> работает
Кто-то сказал когда-то давно, что людям свойственно убивать тех, кого любишь. Что ж, верно и обратное.
Re: Runtime.getRuntime().exec()
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 08.12.04 12:31
Оценка:
Здравствуйте, MikhailVM, Вы писали:

MVM>Почему не работает

MVM>
MVM>  Runtime.getRuntime().exec("cmd.exe");
MVM>

MVM> а
MVM>
MVM> Runtime.getRuntime().exec("calc.exe");
MVM>

MVM> работает

Почему это не работает? Ждемс чего то от cmd.exe?
ICQ #333355130
Re[3]: Runtime.getRuntime().exec()
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 08.12.04 12:37
Оценка:
Здравствуйте, MikhailVM, Вы писали:

MVM>Здравствуйте, VKovalenko, Вы писали:


VK>>Какие исключения выдает? В чем проблема?


MVM>В том то и дело что вообще ничего не выдает.

сюда
Автор: dshe
Дата: 20.08.04
ICQ #333355130
Re: Runtime.getRuntime().exec()
От: Blazkowicz Россия  
Дата: 08.12.04 12:37
Оценка:
Здравствуйте, MikhailVM:

В Q&A пробовал заглядывать?
Re: Runtime.getRuntime().exec()
От: ingie Россия  
Дата: 08.12.04 12:37
Оценка:
Здравствуйте, MikhailVM, Вы писали:

MVM>Почему не работает

MVM>
MVM>  Runtime.getRuntime().exec("cmd.exe");
MVM>


Видимо cmd.exe нужен input/output stream... вот оно и затыкается...
Получить необходимые потоки можно так:


Process p = Runtime.getRuntime().exec("cmd.exe");
e = p.getErrorStream();
i = p.getInputStream();
...
Re[2]: Runtime.getRuntime().exec()
От: Blazkowicz Россия  
Дата: 08.12.04 12:39
Оценка:
Здравствуйте, Tony2k, Вы писали:


T>Это дело, Runtime.getRuntime().exec(), очень привередливое. Тонкостей много, запустить так можно далеко не все. Универсальный алгоритм для запуска любой программы или команды, такой:

T>-Создаем в java.io.tempdir файлик run.bat.
T>-Пишем в него нашу команду.
T>-Выполняем этот файл, через Runtime.getRuntime().exec()
А зачем run.bat???
Re[3]: Runtime.getRuntime().exec()
От: Tony2k  
Дата: 08.12.04 12:44
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Tony2k, Вы писали:



T>>Это дело, Runtime.getRuntime().exec(), очень привередливое. Тонкостей много, запустить так можно далеко не все. Универсальный алгоритм для запуска любой программы или команды, такой:

T>>-Создаем в java.io.tempdir файлик run.bat.
T>>-Пишем в него нашу команду.
T>>-Выполняем этот файл, через Runtime.getRuntime().exec()
B>А зачем run.bat???
Что бы можно было выполнять скажем такие команды, как "dir" или "start readme.html"...
Re[5]: Runtime.getRuntime().exec()
От: MikhailVM  
Дата: 08.12.04 13:40
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Tony2k, Вы писали:


B>
B>        Process process = Runtime.getRuntime().exec("cmd /c dir");//"cmd /c start readme.html"
B>        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
B>        String s;
B>        while((s = bufferedReader.readLine()) != null) System.out.println(s);
B>


Спасибо всё получилось.
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.