Abrir un archivo con una aplicación externa en Java [Duplicar]
-
23-08-2019 - |
Pregunta
Esta pregunta ya tiene una respuesta aquí:
¿Cómo se abre un archivo desde una aplicación Java, cuando usted no sabe qué aplicación el archivo está asociado. Además, debido a que estoy usando Java, preferiría una solución independiente de la plataforma.
Solución
Con jdk1.6, el java.awt.Desktop
clase puede ser útil.
public static void open(File document) throws IOException {
Desktop dt = Desktop.getDesktop();
dt.open(document);
}
Otros consejos
File file
Desktop.getDesktop().open( file );
Desde Java 1.6
Antes de que se podía comprobar esta pregunta
Resumen
Se vería algo como esto:
Runtime.getRuntime().exec( getCommand( file ) );
public String getCommand( String file ){
// Depending on the platform could be
//String.format("gnome-open %s", fileName)
//String.format("open %s", fileName)
//String.format("cmd /c start %s", fileName)
// etc.
}
Se puede hackear algo juntos con un bat en Windows y equivalente en Unix, pero eso no sería tan divertido.
Creo que la mejor opción sería la JDesktop componentes de integración (JDIC) . En particular, el de escritorio clase ha exactamente el método que está buscando.
Edit: Al parecer, estoy detrás de los tiempos porque este se ha integrado en Java 1.6. En cualquier caso, si está trabajando en un Java anterior, todavía puede ser útil.