Le problème d'utiliser runtime.exec, c'est que ça ne fonctionnera que sous Windows, et encore à condition que Acrobat soit bien installé dans le répertoire que tu spécifie.
Si tu as Java 1.6, il y a plus simple et propre pour lancer un fichier avec son application par défaut : la classe java.awt.Desktop:
Desktop.getDesktop().open(fichier);
Théoriquement il faudrait auparavant détecter si l'OS supporte la commande, toujours via la classe Desktop. Mais tous les OS depuis au moins Windows 3.0 gèrent les applications par défaut, donc je pense qu'il est inutile de s'encombrer de ce test.
Si tu as une version antérieure de Java ,tu peux avoir l'équivalent de la classe Desktop via la librairie JDIC. Mais ça t'obligera à avoir une dépendance avec une bibliothèque qui fait appel à du code natif.
Si tu souhaite tout de même utiliser Runtime.exec, la commande "Acrobat.exec" me parait suspicieuse, ça devrait être "Acrobat.exe".
Enfin sache que si tu utilises la classe Runtime pour lancer une application sous Linux,Mac ou windows avec console (ça n'est pas le cas d'Acrobat), il te faudra fermer les flux d'entrée/sortie/erreur du processus créé pour éviter un blocage.
Partager