Abrir arquivo com aplicativo padrão

Ola Pessoal,

Tem como eu abrir um arquivo “qualquer” com o programa padrão registrado no Windows?

Meu problema é que quero abrir um PDF após gera-lo com o Jasper, mas sem especificar o caminho completo do Acrobat.

Ibrigado

Acho que pouca gente sabe desse truque, mas se o tipo de arquivo for registrado no Windows, ele se torna “executável”:

[code]
Microsoft Windows XP [Version 5.1.2600]
© Copyright 1985-2001 Microsoft Corp.

C:Documents and Settingscvillela>cd desktop

C:Documents and SettingscvillelaDesktop>dir
Volume in drive C has no label.
Volume Serial Number is E8CE-ECE2

Directory of C:Documents and SettingscvillelaDesktop

12/05/2003 13:53 .
12/05/2003 13:53 …
12/05/2003 12:49 103.060 teste.pdf
11 File(s) 103.060 bytes
4 Dir(s) 3.770.847.232 bytes free

C:Documents and SettingscvillelaDesktop>teste.pdf

C:Documents and SettingscvillelaDesktop>

(janela do Acrobat abre)[/code]

Então, apesar de detonar com o WORA (Write Once Run Anywhere), dar um exec() no seu arquivo deve ser suficiente… alguém aí sabe de um jeito melhor?

Tenta assim, eu já testei aki e deu certo.

[code]
import java.io.*;

class execInput {
public static void main(String Argv[]) {
try {
String ls_str;

   Process ls_proc = Runtime.getRuntime().exec("cmd /C seuarquivo.pdf "); 

   BufferedReader ls_in = new BufferedReader(new InputStreamReader 
                                      (ls_proc.getInputStream())); 

   try { 
  while ((ls_str = ls_in.readLine()) != null) { 
      System.out.println(ls_str); 
  } 
   } catch (IOException e) { 
  System.exit(0); 
   } 

} catch (IOException e1) {
System.err.println(e1);
System.exit(1);
}

System.exit(0);
}
}[/code]

Acho que isso resolve também seu problema. Falow!!!

Buenas, e quando estou utilizando Linux- Ubuntu, ou Mac por exemplo não tem um metodo que chama o programa padrao para aquele formato de arquivo???

use a classe Desktop que abri arquivos pelo programa padrão para executar tal extensão.