JFileChooser – ouvrir dans le répertoire courant

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);