¿Cómo abre un archivo desde una aplicación Java cuando no sabe a qué aplicación está asociado el archivo? Además, como estoy usando Java, preferiría una solución independiente de plataforma.Abra un archivo con una aplicación externa en Java
Respuesta
Con JDK1.6, la clase java.awt.Desktop
puede ser útil.
public static void open(File document) throws IOException {
Desktop dt = Desktop.getDesktop();
dt.open(document);
}
Puede piratear algo junto con un archivo bat en Windows y su equivalente en Unix, pero eso no sería tan divertido.
Creo que su mejor opción sería la JDesktop Integration Components (JDIC). En particular, la clase Desktop tiene exactamente el método que está buscando.
EDITAR: Aparentemente, estoy atrasado porque esto se ha integrado en Java 1.6. En cualquier caso, si está trabajando en una versión anterior de Java, aún puede ser útil.
Los enlaces provistos están rotos. Necesitas arreglar ambos. Gracias. –
File file
Desktop.getDesktop().open(file);
Desde Java 1.6
Antes de que pudiera check this question
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.
}
Me gustaría agregar "xdg-open" (http://portland.freedesktop.org/xdg-utils-1.0/xdg-open.html) para un comando Linux más integrado que no está disponible en todas partes. –
- 1. Abra una ruta con Desktop.open() desde java en ubuntu (linux)
- 2. Archivo de Java: abra un archivo y escríbalo
- 3. Abra un enlace en el navegador con el botón java?
- 4. Abra un archivo con el Bloc de notas en C#
- 5. Minimice una aplicación externa con Delphi
- 6. Abra un archivo pdf dentro de una vista web.
- 7. Abra un archivo con su/sudo dentro de Emacs
- 8. Abra una carpeta y resalte un archivo en particular con WPF
- 9. Ejecutar un archivo jar en una aplicación Java en ejecución
- 10. Abra Windows Explorer y seleccione un archivo
- 11. "Incrustar" JasperServer en una aplicación web externa?
- 12. ¿Cómo configurar un archivo quartz.config en una aplicación Java simple?
- 13. ¿Cómo imprimir un archivo PDF en una aplicación Java?
- 14. log4j.xml externa archivo
- 15. Abrir archivo PDF sobre la marcha desde una aplicación Java
- 16. aplicación Java swing, cierre una ventana y abra otra cuando se haga clic en el botón
- 17. Abra solo las primeras líneas de un archivo en Vim
- 18. Abra un archivo en la codificación correcta automáticamente
- 19. Abra web.config desde la aplicación de consola?
- 20. Android: abra el archivo guardado en la aplicación predeterminada de mi aplicación
- 21. Java -jar: acceder al archivo de configuración externa
- 22. ¿Hay alguna manera de que Ediff no abra su interfaz de navegación en una ventana externa?
- 23. Abra un archivo de texto seleccionado en Vim
- 24. C#: abra un navegador y publique en una url desde una aplicación de escritorio de Windows
- 25. Cómo modelar una clave externa en una aplicación Django reutilizable?
- 26. Abra el navegador nativo desde una aplicación de Android
- 27. Abra una nueva consola con cada nuevo subproceso en C#?
- 28. ¿Cómo crear un archivo JNLP para una aplicación web java?
- 29. ¿Abra una aplicación Native AIR a través de la URL?
- 30. ¿Abra un .webarchive en el iphone?
¿Este código también funciona en Linux? –
Sí ... pero es una buena idea llamar 'Desktop.isDesktopSupported()' o 'Desktop.isSupported (action)' primero, consulte el Javadoc. – RealHowTo