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 courant, 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, la sortie que j'obtiens est:
/Users/MyName/Folder1/Folder2/./Temp.xls
Bien sûr, c'est bizarre, d'autant plus que je le montre à l'utilisateur. Maintenant, je pourrais être hacky et faire des trucs de traitement de sous-chaîne amusants pour me débarrasser de ça "/./"
portion. Mais ... existe-t-il un programmeur 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);