web-dev-qa-db-fra.com

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

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.

What the file chooser looks like

Lorsque l'utilisateur clique sur Ouvrir ici, je veux qu'il renvoie le chemin complet et non le fichier. Comment puis-je faire cela?

14
newSpringer
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

21
Malcolm Smith
File file = fileChooser.getCurrentDirectory();
String fullPath = file.getCanonicalPath(); // or getAbsolutePath()
2
Eng.Fouad

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 .

2
Guillaume Polet

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é

0
Broken_Window
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.

0
PeakGen

Définissez votre sélecteur de fichiers pour filtrer tous les fichiers non-répertoire.

yourFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
0
FThompson