2009-05-11 10 views
8

Quiero lanzar un archivo (un documento) desde un programa Java y eliminar los siguientes requisitos:archivo de inicio de Java

  • método debe ser applicabale en sistemas Mac, Win y Linux
  • no soy permitido usar "Runtime.getRuntime(). exec (" cmd.exe/C + "nombre de archivo");
  • El archivo estoy lanzando necesario que se produzca cualquiera de .doc/.docx .rtf

El archivo/se crea en tiempo de ejecución, resultado de un informe que se está creando. ¿Alguna buena práctica?

+0

No estoy seguro de entender qué significa el lanzamiento de un archivo ... ¿tiene alguna limitación con respecto al programa que abre el archivo? ¿Quieres iniciar una aplicación en particular con tu archivo abierto? ¿Estás seguro de que todas las máquinas en las que ejecutas tu programa tendrán un programa compatible con archivos .doc? – LB40

+0

Iniciar, en este contexto, significa abrir el archivo con el programa asociado. Sí, tengo la garantía de tener un programa que admita .doc –

Respuesta

4

Si está ejecutando 1.6, use Desktop API según los consejos de mad-j. Si está utilizando una máquina virtual anterior (1.5 o anterior), tendrá que escribir su propio código específico de la plataforma para hacer esto.

en el Mac,

Runtime.getRuntime().exec(new String[] {"open", pathToFile}); 

En las ventanas,

Runtime.getRuntime().exec(new String[] {"cmd.exe", "/C", pathToFile}); 

Puede que tenga que escapar de la ruta en Windows.

+0

Dijo que no puede usar cmd.exe –

+0

Debe haber alguien que haya escrito alguna clase de utilidad para las JVM anteriores a 1.6 ....? –

Cuestiones relacionadas