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
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.