ejecucion de programas con java

txuski78
02 de Febrero del 2005
Hola!
Tengo que crear una clase donde le vendran ficheros de todo tipo de extensiones, si por ejemplo le viene un .txt pues lo abriria con el notepad, que viene una foto pues con un visualizador de fotos, etc...
mi pregunta es... como digo yo en java que ejecute un .exe(el programa en cuestion) para un fichero en concreto?
Salu2

@Fernando@
02 de Febrero del 2005
hola.

la forma de ejecutar programas externos desde java es con el siguiente codigo

Process p = Runtime.exec("Aplicacion");

ejemplo:

Process p = Runtime.getRuntime().exec("notepad.exe");

esto ejecutaria en notepad de window. solo restaria que hicieras un procedimiento para que filtres tus archivos para asignarle un programa a ejecutar en cada caso.

@SUERTE@

milon
02 de Febrero del 2005
Mas o menos es asĂ­, pero creo que hay un problema.
Necesitas saber la ruta exacta de cada programa (de su ejecutable vamos), no vale poner "notepad.exe", sino que habria que poner "c:Archivos de programa....", por lo menos si lo haces de esa forma, y asĂ­ con todos los programas.
Yo necesito hacer lo mismo, pero ejecutando el navegador de internet, y que se abra en una página que yo le diga, y todavia no lo he conseguido, así que si sabeis, os lo agradeceria tambien.
Un saludo.

kvelamazan
02 de Febrero del 2005
Yo para visualizar un fichero con el notepad desde mi applet lo hago asi.

Runtime obj = Runtime.getRuntime();
obj.exec("C:\WINDOWS\notepad.exe " + archivo);



txuski78
02 de Febrero del 2005
yo lo que quiero saber es como se hace para que abra el archivo en cuestion el programa que fuera, he conseguido que se habra el programa pero no con el archivo, alguna ayuda?

txuski78
02 de Febrero del 2005
x fin me salio!!!

String sTabla[]={"C:\Archivos de programa\Windows NT\Accesorios\ImageVue\kodakimg.exe",sRuta};

System.out.println("Tamaño de la tabla: "+sTabla.length);
if(sExtension.equals("txt"))
{
try
{
Runtime rt = Runtime.getRuntime();
rt.exec(sTabla);
} catch (Exception e) {System.out.println(e.toString());}

}