A voir également:
- Ouvrir fichier pdf en java
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Ouvrir fichier .bin - Guide
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment ouvrir un fichier docx ? - Guide
2 réponses
Utilisateur anonyme
26 juil. 2012 à 14:14
26 juil. 2012 à 14:14
Salut!
Utilise IText.
Il te fera cela en quelques lignes de code.
;-)
Utilise IText.
Il te fera cela en quelques lignes de code.
;-)
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 014
11 juil. 2012 à 15:54
11 juil. 2012 à 15:54
Pour ouvrir un fichier tu as Desktop.getDesktop().open(File file); le fichier sera alors ouvert avec l'application par défaut, quel que soit le type de fichier, ou l'OS utilisé.
Par contre est-ce que la copie du fichier est obligatoire je ne sais pas, en tout cas je ne sais pas faire autrement. Exemple avec "Fichier.pdf" à la racine "/" du fichier JAR :
Par contre est-ce que la copie du fichier est obligatoire je ne sais pas, en tout cas je ne sais pas faire autrement. Exemple avec "Fichier.pdf" à la racine "/" du fichier JAR :
import java.awt.Desktop; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; public class Test { public static File access(String fileNameInJAR, String extension) throws IOException { InputStream in = Test.class.getClass().getResourceAsStream(fileNameInJAR); File f = File.createTempFile("JAR_", extension); FileOutputStream out = new FileOutputStream(f); byte[] buf = new byte[1024]; for (int n; (n=in.read(buf))!=-1; out.write(buf, 0, n)); out.close(); in.close(); return f; } public static void main(String...args) throws IOException { Desktop.getDesktop().open(access("/Fichier.pdf",".pdf")); } }
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 014
16 juil. 2012 à 00:17
16 juil. 2012 à 00:17
Desktop.getDesktop().open(File file) est la version "courte" sans aucune vérification.
La version longue c'est :
Cependant, j'avoue avoir parfois vu cette commande échouer (en particulier sous Windows) ou être assez longue avant que l'opération ne soit exécutée... mais sans trop de raison :(
La version longue c'est :
if (Desktop.isDesktopSupported()) { Desktop desktop = Desktop.getDesktop(); if (desktop.isSupported(Desktop.action.OPEN) { try { desktop.open(file); } catch (Exception e) { e.printStackTrace(); } } else System.err.println("OPEN not supported"); } else System.err.println("Desktop not supported");
Cependant, j'avoue avoir parfois vu cette commande échouer (en particulier sous Windows) ou être assez longue avant que l'opération ne soit exécutée... mais sans trop de raison :(