2012-05-16 25 views
14

Estoy creando una aplicación usando Netbeans 7.1.2 y estoy usando un selector de archivos, pero no quiero que el selector de archivos obtenga un archivo, en su lugar quiero que devuelva el archivo ruta completa al directorio en el que se encuentra actualmente.Cómo obtener el directorio de ruta completo desde el Selector de archivos

What the file chooser looks like

Cuando el usuario hace clic abierta aquí, quiero que vuelva la ruta completa y no el archivo. ¿Cómo hago esto?

Respuesta

21
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

2
File file = fileChooser.getCurrentDirectory(); 
String fullPath = file.getCanonicalPath(); // or getAbsolutePath() 
2

Si usted quiere saber el directorio actual:

fileChooser.getCurrentDirectory() 

Si desea obtener el archivo seleccionado:

fileChooser.getSelectedFile(); 

Para llegar la ruta absoluta a un archivo:

file.getAbsolutePath(); 

Obtenga todas las informaciones en the File chooser API here.

0

Configure su selector de archivos para filtrar todos los archivos que no sean de directorio.

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

File f = fileChooser.getSelectedFile(); //This will return the file 

en NetBeans, la instalación (método display) de pantalla automática de código dará la lista completa de los métodos disponibles para JFileChooser una vez que haya utilizado el operador punto próximo a la instancia JFileChooser. Simplemente navegue a través de los métodos getter para descubrir más opciones, y lea el pequeño Javadock mostrado por netbeans.

0

en JDK 1.8 (usando NetBeans 8.0.1) funciona esto:

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

String path = jOpen.getSelectedFile().getPath(); // full path 

Jopen es el JFileChooser. Como lo señaló Joachim, File class doesn't leave anything opened nor leaked

Cuestiones relacionadas