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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top