Bonsoir,
Je rencontre actuellement un problème sur lequel j'aurais besoin d'un coup de pouce.
J'ai une fonction qui me permet d'exporter un JPanel sous forme de fichier JPEG. L'utilisateur est donc invité à choisir un dossier et saisir le nom du fichier à l'aide d'un JFileChooser.
Mon problème est que si l'utilisateur saisit un nom avec des caractères non autorisés (exemple, le caractère ':' ou '?'), aucune exception ne sera lancée et un fichier va quand même être créé, mais son nom sera tronqué au niveau du caractère interdit. Exemple: si l'utilisateur tape "toto:tata.jpeg", un fichier vide nommé "toto" sera créé.
Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 try { ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(newImageFile)); // création du fichier ImageIO.write(tamponSauvegarde, "JPG", newImageFile); // tamponSauvegarde contient l'image et newImageFile est l'objet File dans lequel je l'exporte out.close(); System.out.println("ok, created file: " + newImageFile.getName()); } catch (IOException ee) { JOptionPane.showMessageDialog(null, "File creation impossible: wrong file name?", null, JOptionPane.ERROR_MESSAGE); exportAsImage.doClick(); // réaffiche le JFileChooser }
Comment éviter d'avoir ce problème ?
Merci d'avance!![]()
Partager