Je crée une application à l'aide de Netbeans 7.1.2 et j'utilise un sélecteur de fichiers, mais je ne veux pas que le sélecteur de fichiers obtienne un fichier, je veux plutôt qu'il renvoie le chemin d'accès complet au répertoire dans lequel il se trouve actuellement.
Lorsque l'utilisateur clique sur Ouvrir ici, je veux qu'il renvoie le chemin complet et non le fichier. Comment puis-je faire cela?
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new Java.io.File("."));
chooser.setDialogTitle("choosertitle");
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory());
System.out.println("getSelectedFile() : " + chooser.getSelectedFile());
} else {
System.out.println("No Selection ");
}
De http://www.Java2s.com/Code/Java/Swing-JFC/SelectadirectorywithaJFileChooser.htm
File file = fileChooser.getCurrentDirectory();
String fullPath = file.getCanonicalPath(); // or getAbsolutePath()
Si vous voulez connaître le répertoire courant:
fileChooser.getCurrentDirectory()
Si vous souhaitez obtenir le fichier sélectionné:
fileChooser.getSelectedFile();
Pour obtenir le chemin absolu vers un fichier:
file.getAbsolutePath();
Prenez toutes les infos sur l'API de sélection de fichiers ici .
Sur JDK 1.8 (en utilisant NetBeans 8.0.1), cela fonctionne:
String path = jOpen.getName(diagOpen.getSelectedFile()); // file's name only
String path = jOpen.getSelectedFile().getPath(); // full path
jOpen est le jFileChooser. Comme l'a souligné Joachim, La classe de fichiers ne laisse rien ouvert ni divulgué
File f = fileChooser.getCurrentDirectory(); //This will return the directory
File f = fileChooser.getSelectedFile(); //This will return the file
Dans les netbeans, la fonction d'affichage automatique du code (affichage des méthodes) donnera la liste complète des méthodes disponibles pour JFileChooser une fois que vous avez utilisé l'opérateur point à côté de l'instance de JFileChooser. Parcourez simplement les méthodes getter pour découvrir plus d'options et lisez le petit Javadock affiché par les netbeans.
Définissez votre sélecteur de fichiers pour filtrer tous les fichiers non-répertoire.
yourFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);