Salut tous,
Je veux appeler un document pdf lors d'un simple clic sur un bouton de mon application implémentée en java.
Est ce qu'il y a quelqu'un qui peut m'aider? Comment faire SVP??
Merci d'avance..
Salut tous,
Je veux appeler un document pdf lors d'un simple clic sur un bouton de mon application implémentée en java.
Est ce qu'il y a quelqu'un qui peut m'aider? Comment faire SVP??
Merci d'avance..
salut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String[] cmd= {"chemin_complet_exécutable_acrobat_reader \\ comme séparateur","ton_fichier.pdf"}; Runtime.getRuntime().exec(cmd);
Ma Chaine youtube : https://www.youtube.com/@medBkDev
Mes Articles
guide du débutant pour apprendre à programmer en Java -
FAQ Java et les cours et tutoriels Java
Si tu veux ouvrir le fichier avec l'application par défaut du système et que tu as une version de JavaSE 6, ou plus, la meilleure solution est d'utiliser la classe Desktop.
Tu peux également utiliser la bibliothèque JDIC(bibliothèque native)
Sinon il te faut utiliser Runtime.exec() pour appeller les commandes systèmes "cmd /c start", "open", "xdg-open" suivant ton système (respectivement windows, macos x et linux).
J'ai essayé par curiosité avec un pdf, un doc ou un txt, mais aucun résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Si tu veux ouvrir le fichier avec l'application par défaut du système et que tu as une version de JavaSE 6, ou plus, la meilleure solution est d'utiliser la classe Desktop.
Malgré que j'obtienne true true en sortie...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public static void main(String[] args) throws IOException { System.out.println(Desktop.isDesktopSupported()); System.out.println(Desktop.getDesktop().isSupported(Action.OPEN)); Desktop.getDesktop().open(new File("C:\\a.txt")); }
J'ai essayé par curiosité avec un pdf, un doc ou un txt, mais aucun résultat.Si tu veux ouvrir le fichier avec l'application par défaut du système et que tu as une version de JavaSE 6, ou plus, la meilleure solution est d'utiliser la classe Desktop.
Malgré que j'obtienne en sortie :
true
true
Pour info, je suis sur Win XP SP2 32-bits.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public static void main(String[] args) throws IOException { System.out.println(Desktop.isDesktopSupported()); System.out.println(Desktop.getDesktop().isSupported(Action.OPEN)); Desktop.getDesktop().open(new File("C:\\a.txt")); }
C'est pourtant comme ça que ça marche. Au point où tu en es, je te conseille :
- De vérifier que c'est bien ce programme que tu lances (ça donne quoi si tu ajoutes System.out.println("zorglub") ?)
- De vérifier que tu as un fichier a.txt et non pas a.txt.txt à la racine de C:
Ca m'aide pas trop... Je pense que l'api doit être buggé selon les versions des OS, l'antivirus, les firewalls ou encore les applications opèrant sur les fichiers.
Sinon le fichier existe bel et bien.
Pour le montrer :
J'obtiens 3 true maintenant ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 System.out.println(Desktop.isDesktopSupported()); System.out.println(Desktop.getDesktop().isSupported(Action.OPEN)); System.out.println(new File("C:\\a.txt").exists()); Desktop.getDesktop().open(new File("C:\\a.txt"));
Partager