Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Vasily
1

Как java-приложение может попросить OS запустить внешнее приложение?

20.11.2008, 13:04. Показов 3020. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как java-приложение может попросить OS запустить внешнее приложение?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2008, 13:04
Ответы с готовыми решениями:

Как из Vb.Net запустить внешнее приложение
Помогите пожалуйста новичку. Мне нужно из vb.net запустить Crystal Reports (не компонент vb) и...

Как запустить внешнее консольное приложение и получить то, что будет выведено на экран?
Есть программка которая распознает капчу, когда я ее запускаю из командной строки выводится...

Запустить внешнее консольное приложение и вернуть результат
Здравствуйте. Подскажите, пожалуйста, как можно запустить внешнее консольное приложение без...

Запустить внешнее приложение, передать ему параметры и получить результат
Здравствуйте. Проблема такая: RunCommand(exe_name,,output); Думаю, что такое exe_name и...

11
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
20.11.2008, 16:55 2
Например, так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.io.*;
public class DirCommand {
public static void main (String [] args) {
try {
String cmd = 'dir *.*';
Process proc = Runtime.getRuntime().exec (cmd);
InputStream i = proc.getInputStream ();
InputStreamReader r = new InputStreamReader (i);
BufferedReader in = new BufferedReader (r);
 
int line;
while ((line = in.read ()) != -1) {
System.out.print ((char)line);}
}
catch (IOException ioe) {}
}
}
0
Vasily
22.11.2008, 08:41 3
Огромное спасибо,
это именно то, что надо
0 / 0 / 0
Регистрация: 18.02.2009
Сообщений: 8
18.02.2009, 15:15 4
А если это апплет?
Конкретнее, проблема в следующем: есть прога .exe на сервере, нада ее запустить из апплета, да так, чтобы не возникал Access Denied и прочие Security Exception.
0
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
19.02.2009, 11:57 5
Запустить ехе-файл на сервере из апплета на клиентской машине - это (как говорил красноармеец товарищ Сухов) вряд ли А вот если апплет обращается к сервлету на сервере и этот сервлет запускает уже сам экзешник, то должно получиться (правда, сам не проверял, извиняйте).
0
Vasily
19.02.2009, 13:03 6
А если сервер не j2ee, то для этого, собственно, и придуман CGI. Поместите .exe в cgi-директорию на сервере и исполняйте его, вызвав по http.
0 / 0 / 0
Регистрация: 18.02.2009
Сообщений: 8
19.02.2009, 23:06 7
Большое спасибо за помощь. Сервлеты изучать времени, к сожалению, нет - до защиты курсовой времени все меньше :-((
CGI: Собственно, я так уже пробовал (правда, не из апплета, а просто набирал в IE). Он пишет CGI Error - заголовки не возвращены и все такое. Конечно, тестировал я в пределах PWS, не знаю, как на сервере. Впрочем, сейчас вопрос стоит так: есть откомпиленый класс java-приложения (конечно, есть и exe-версия, но чтоб ее запустить, надо classpath правильно установить, под 98 это большой гемморой - ведь это в автоэкзеке надо прописывать, а там >8 нельзя, в общем я по-всякому пробовал, но тем не менее при запуске exe возникает NoClassDefFoundError), так вот, этот класс нужно запустить, как альтернативу ехе, так:

Код
java -classpath 'C:MyProjectsJavaNetmath;C:Program FilesMathematica 4.1addonsapplicationsjlinkjlink.jar' NMMain 'C:Program FilesMathematica 4.1MathKernel.exe' 'Integrate[Sin[x],x]' 'out.txt' 'false'
, где NMMain - мой класс, остальное - всякие нужные (в моей проге) феньки. Возникают два техн. вопроса:
1. Как это запустить из апплета?
2. Если этого сделать нельзя, то как это сделать из asp-сценария?

Буду очень признателен всем, кто поможет советом - до защиты НЕДЕЛЯ!!!
0
Simon
21.02.2009, 10:31 8
Для того, чтобы аплет мог запускать приложения, надо ему это разрешить при помощи policytool
Vasily
21.02.2009, 17:11 9
помести эту строчку в .bat-файл и исполни его из браузера.
Должно сработать.
Если будет писать о том, что ему нужны заголовки, дополни файл
echo Content-Type: text/html и т.д.
или type c:путьфайл_шаблона_ответа.html

Не проверял, но должно работать. Если в трех словах, то так. Вариант кривой и небезопасный, но для курсовой сойдет.

Удачи.
0 / 0 / 0
Регистрация: 18.02.2009
Сообщений: 8
22.02.2009, 20:04 10
Спасибо большое, я так и сделал. Точнее, не совсем так - просто в своей проге сформировал выходной поток с заголовками и прочей ерундой, в итоге получается новый хтмл документ.
А почему небезопасный?
0
0 / 0 / 0
Регистрация: 21.07.2008
Сообщений: 21
01.03.2009, 15:51 11
Народ , help pls...

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.lang.*;
import java.io.*;
 
public class Execute {
public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();
String[] callAndArgs = { 'C:\j2sdk1.4.0\bin\javac.exe' ,
 'c:\ftp\some.java'};
try {
Process child = rt.exec(callAndArgs);
child.waitFor();
System.out.println('Process exit code is: ' + child.exitValue());
}
catch(IOException e) {
System.err.println(
 'IOException starting process!');
}
catch(InterruptedException e) {
System.err.println(
 'Interrupted waiting for process!');
}
}
}
выдает Process exit code is:1 ?????????????????????????????
0
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
01.03.2009, 16:15 12
с путями может глючить. попробуй переписать путь как /j2sdk1.4.0/bin/javac.exe & /ftp/some.java

дальше, начинает работать-то оно все с текущей директории, а где она? и последнее, лучше вызывть javac.Main, посмотрите в либах tools.jar.
0
01.03.2009, 16:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2009, 16:15
Помогаю со студенческими работами здесь

Как запустить java приложение с компьютера?
Добрый день.Вот пытаюсь научится программировать на Java .пишу простенькую программу,компилирую ее...

Как запустить приложение java с firebird
Доброе времени суток!! Уважаемые форумчане подскажите пожалуйста в чем может быть ошибка....

Приложение со всеми библиотеками, или как запустить приложение без установленного FW
Извините, если для профессионалов эта тема покажется уже заезженной, но я не нашла решения в...

Как запустить консольное приложение Java не из среды разработки, а из файла
Доброго времени суток! Как запустить десктопное приложение Java (с формами и граф интерфейсом)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru