bonjour,
dans mon application j'utilise un JFileChooser avec un filtre ".dat" pour enregistrer les fichiers. Là deux cas de figure se présentent :
1- L'utilisateur précise l'extension ".dat" du fichier et dans ce cas pas de souci, je peux vérifier l'existence du fichier ou non ;
2- L'utilisateur ne donne pas l'extension du fichier : et dans ce cas c'est au programme de l'ajouter puis de vérifier si le fichier avec l'extension existe. Et c'est dans ce cas que je bloque
Voilà mon code : il fonctionne très bien dans le cas n°1 mais pas dans le cas 2 (c'est à dire si l'utilisateur ne précise pas l'extension du fichier) et pour cause je fais un file.exists() avant d'ajouter l'extension.
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 File file = null; RandomAccessFile datFile = null; String strFile = new String(); int response; response = fc.showSaveDialog(this); file = fc.getSelectedFile(); if (response==JFileChooser.APPROVE_OPTION) { if (file.exists()) { System.out.println("le fichier existe"); } else { strFile = file.getPath(); if (!file.getName().toLowerCase().endsWith(".dat")) { strFile = file.getPath().concat(".dat"); } try { datFile = new RandomAccessFile(strFile, "rw"); //..... } catch (FileNotFoundException ex) { Logger.getLogger(ScenarioManager.class.getName()).log(Level.SEVERE, null, ex); } } }
Comment je peux modifier le code de telle sorte que si l'utilisateur ne donne pas l'extension du fichier, le programme l'ajoute ? (Ajout de l'extension juste avant l'appel de la méthode file.exists()).
--------------------
Je pensais faire comme ceci, mais j'avoue que créer un nouvel objet File simplement pour lui ajouter une extension me gêne un peu. Il n'y a pas une autre méthode ?
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 File file = null; RandomAccessFile datFile = null; int response; response = fc.showSaveDialog(this); file = fc.getSelectedFile(); if (!file.getName().toLowerCase().endsWith(".dat")) { file = new File(file.getPath()+".dat"); } if (response==JFileChooser.APPROVE_OPTION) { if (file.exists()) { System.out.println("le fichier existe"); } else { try { datFile = new RandomAccessFile(file, "rw"); //..... } catch (FileNotFoundException ex) { Logger.getLogger(ScenarioManager.class.getName()).log(Level.SEVERE, null, ex); } } }
et l'objet RandomAccessFile ne possède pas de méhtode exists() ou de méthode renvoyant un objet File.
Partager