2012-01-06 12 views
7

Estoy usando JFileChooser en una aplicación para buscar un directorio; sin embargo, cuando selecciono el directorio, devuelvo la ruta a la carpeta que está sobre la carpeta que seleccioné. es decir, selecciono "C: \ Test" y devuelve "C: \"JFileChooser getCurrentDirectory devolviendo el directorio actual incorrecto?

Aquí está el código que estoy usando

  JFileChooser c = new JFileChooser(); 
      c.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); 
      int rVal = c.showSaveDialog(c); 
      if (rVal == JFileChooser.APPROVE_OPTION) { 
       txtDirectory.setText(""); 
       CC_Test.MsgBox(c.getCurrentDirectory().toString()); 
       txtDirectory.setText(c.getCurrentDirectory().toString()); 
      } 
      if (rVal == JFileChooser.CANCEL_OPTION) { 
       txtDirectory.setText(""); 
      } 

Respuesta

12

Debe utilizar

c.getSelectedFile() 

en lugar de

c.getCurrentDirectory() 

con el fin de obtener el archivo seleccionado (también conocido como directorio en este caso). De lo contrario, genera el directorio que se muestra en el panel del archivador (que es el principal) y no el que está seleccionado.

3

Para conseguir el archivo o directorio seleccionado, utilice:

c.getSelectedFile(); 

Si utiliza

c.getCurrentDirectory(); 

el retorno depende del sistema operativo.

3

Tienes que usar JFileChooser.getSelectedFile(). La clase File es para directorios y archivos.

Cuestiones relacionadas