Quiero abrir archivos arbitrarios desde Eclipse. Actualmente lo estoy haciendo así:Eclipse: ¿Cómo solicitarle al usuario que elija una aplicación para abrir un archivo?
if (((File) selectedElement).isFile()) {
try {
Desktop.getDesktop().open((File) selectedElement);
} catch (IOException e) {
//TODO prompt for the appropriate application to open this file.
e.printStackTrace();
}
}
Lamentablemente, esto solo funciona, si el sistema operativo tiene una aplicación predeterminada asociada con el tipo de archivo. Es por eso que, si no hay ninguna aplicación predeterminada definida, quiero preguntarle al usuario qué aplicación debería usar. Pero no tengo idea de cómo 1) encontrar una lista de aplicaciones disponibles y 2) abrir el archivo con esa aplicación. ¿Alguna pista sobre cómo implementar eso de una manera independiente de la plataforma?
Qué quiere decir "de Eclipse", como en, esta es una aplicación RCP o plug-in; ¿O simplemente te refieres a que Eclipse es tu IDE? Porque usar Desktop.open() no es la forma de hacerlo de Eclipse en primer lugar. –
Estoy escribiendo un complemento. Este complemento tiene la posibilidad de navegar a través de todos los archivos del sistema operativo. Ahora, si los archivos no son archivos de texto o archivos java, quiero abrir los archivos con la aplicación predeterminada en el sistema operativo. Por ejemplo documentos docx con MS Word. Esto funciona siempre que el tipo de archivo esté asociado a una aplicación en el sistema operativo. Si el tipo de archivo aún no tiene una aplicación predeterminada en el sistema operativo, mi enfoque falla y quiero preguntarle al usuario qué aplicación debo usar. Pero no sé cómo puedo hacer eso. –