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!