Google

martes, 5 de febrero de 2008

Abrir archivo en Windows desde java

Este método permite abrir el archivo que se pasa por parámetro.
Vale aclarar que este método hace uso de librerias propias de windows para poder detectar automaticamente que programa debe abrir para leer el archivo correspondiente.

public void execute(String mensaje){
try{
File file = new File(mensaje);
p=Runtime.getRuntime().exec
("rundll32 SHELL32.DLL,ShellExec_RunDLL " + file.getAbsolutePath());
}
catch (Exception e){
System.out.println("ERROR AL EJECUTAR APLICACION");
}
}

2 comentarios:

Davemm dijo...

Demasiado cógido para simplemente abrir un programa ...

Runtime r = Runtime.getRuntime();
Process p = null;
InputStream in = null;
OutputStream out = null;

No estas haciendo uso de todo lo anterior, sería tan simple como:

File f = new File("archivo.doc");
Runtime.getRuntime().exec("cmd /c start "+f);

Anónimo dijo...

He encontrado algunos problemas con Windows, a la hora de abrir los archivos .pdf, de la manera que has colocado. Si el título del archivo .pdf contiene espacios en blanco ó es demasiado grande, Windows no lo reconoce y produce un error. He encontrado un método mejor:

import java.io.File;
import java.io.IOException;
import java.awt.Desktop;

public class openFile {
public void openFile(String archivo){
try{
File f = new File(archivo);
if(f.exists()){
Desktop.getDesktop().open(f);
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}