PDA

View Full Version : [JAVA] Programma che esegua un programma del SO


dooka
18-06-2006, 15:45
Come posso creare un programma in java che mi permetta di eseguire i più classici dei programmi presenti su un sistema operativo (es. notepad.exe) ?

il mio scopo è quello di far partire notepad (es.) nel momento in cui tramite socket ho appena scambiato un file di tipo .txt

qualcuno mi puo aiutare?

Kaldais
18-06-2006, 15:58
Prova a dare un occhio alla classe Runtime, ci dovrebbe essere il metodo exec() che fa al tuo caso.

franksisca
18-06-2006, 20:11
try{
Runtime.getRuntime().exec(file);
}
catch(Exception e){}

file è una stringa che contiene il file eseguibile, ma potrebbe anche essere un vettore di stringhe che contiene più programmi da aprire, se non ricordo male, ma devi provare, nel file[0] vengono aperti gli altri file

tipo, se nel fil[0] metti VLC, negli altri metti mp3 o video, altrimenti mi sembra, ma devi provare, che generi eccezzione, o cose del genere(magari non funziona e basta)

dooka
18-06-2006, 21:30
try{
Runtime.getRuntime().exec(file);
}
catch(Exception e){}

file è una stringa che contiene il file eseguibile, ma potrebbe anche essere un vettore di stringhe che contiene più programmi da aprire, se non ricordo male, ma devi provare, nel file[0] vengono aperti gli altri file

tipo, se nel fil[0] metti VLC, negli altri metti mp3 o video, altrimenti mi sembra, ma devi provare, che generi eccezzione, o cose del genere(magari non funziona e basta)

ottimo :)

ho provato e la stringa che inserisco (in questo caso file) non me lo prende se è il nome del file (es. prova.txt) ma funziona se è il comando da shell (es. notepad.exe).
alla fine era quel che volevo io, ora chiedo se c'è un modo x facilitarmi le cose, che dandogli l'exec di un file.estensione parta in automatico con il programma di default

guldo76
18-06-2006, 22:10
[...] c'è un modo x facilitarmi le cose, che dandogli l'exec di un file.estensione parta in automatico con il programma di default
"start"
Se non ricordo male, se dal prompt dos digiti
start nomefile.estensione
fa proprio questo.

dooka
19-06-2006, 08:23
"start"
Se non ricordo male, se dal prompt dos digiti
start nomefile.estensione
fa proprio questo.

non si finisce mai di imparare :D
su prompt mi funziona benissimo "start prova.txt", da codice invece se scrivo:
String[] arr = {"start","prova.txt"};
o
String[] arr = {"start.exe","prova.txt"};
non mi funziona :(

ah ovviamente il codice dopo è il medesimo sia x notepad.exe che per start:
try{
Runtime.getRuntime().exec(arr);
}catch(Exception e){}

andbin
19-06-2006, 08:55
non mi funziona :(Leggi <questo> (http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html).