Comment obtenir le répertoire de chemin complet à partir du sélecteur de fichier

Je crée une application à l’aide de Netbeans 7.1.2 et j’utilise un sélecteur de fichier, mais je ne souhaite pas que le sélecteur de fichier obtienne un fichier. Je souhaite plutôt qu’il renvoie le chemin d’access complet au répertoire où il se trouve actuellement.

À quoi ressemble le sélecteur de fichier

Lorsque l’utilisateur clique 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(); Ssortingng fullPath = file.getCanonicalPath(); // or getAbsolutePath() 

Si vous voulez connaître le répertoire actuel:

 fileChooser.getCurrentDirectory() 

Si vous voulez obtenir le fichier sélectionné:

 fileChooser.getSelectedFile(); 

Pour obtenir le chemin absolu d’un fichier:

 file.getAbsolutePath(); 

Saisissez toutes les informations sur l’API du sélecteur de fichiers ici .

Configurez votre sélecteur de fichiers pour filtrer tous les fichiers autres que des répertoires.

 yourFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 
 File f = fileChooser.getCurrentDirectory(); //This will return the directory File f = fileChooser.getSelectedFile(); //This will return the file 

Dans Netbeans, la fonction d’affichage automatique du code (affichage de la méthode) 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. Naviguez simplement dans les méthodes de lecture pour trouver plus d’options et lisez le petit Javadock affiché par netbeans.

Sur JDK 1.8 (avec NetBeans 8.0.1), cela fonctionne:

 Ssortingng path = jOpen.getName(diagOpen.getSelectedFile()); // file's name only Ssortingng path = jOpen.getSelectedFile().getPath(); // full path 

jOpen est le jFileChooser. Comme l’a souligné Joachim, la classe de fichiers ne laisse rien ouvert ni aucune fuite