J’ai un simple JFileChooser configuré de la manière suivante
JFileChooser chooser = new JFileChooser(); chooser.setCurrentDirectory(new File(".")); chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); chooser.setFileFilter(new FileFilter() { ... }); int v = chooser.showOpenDialog(this); if (v == JFileChooser.APPROVE_OPTION) { File file = chooser.getSelectedFile(); System.out.println(file.getAbsolutePath()); }
Comme vous pouvez le voir, ce FileChooser démarre dans le répertoire en cours, qui, dans mon projet Netbeans, est la racine du dossier du projet. Voici le problème: lorsque je sélectionne un fichier et qu’il imprime le chemin absolu, il inclut le "."
Sur le chemin. Par exemple, le résultat obtenu est:
/Users/MyName/Folder1/Folder2/./Temp.xls
Bien sûr, c’est bizarre, d’autant plus que je l’affiche à l’utilisateur. Maintenant, je pourrais être pirate et faire des choses amusantes pour le post-traitement des sous-chaînes afin de me débarrasser de cette partie "/./"
. Mais … existe-t-il un moyen de programmation non paresseux pour résoudre ce problème? Merci d’avance!
Utilisez la propriété système “user.dir” comme suit:
File workingDirectory = new File(System.getProperty("user.dir")); chooser.setCurrentDirectory(workingDirectory);