2011-12-01 9 views
5

estoy usando este fragmento de código:Obtener todos los nombres de los archivos en el directorio usando JFileChooser?

fileBrowser() { 
     String toReturn = null; 
     JFileChooser Chooser = new JFileChooser(); 
     int choosen = Chooser.showOpenDialog(fileBrowser.this); 
     if (choosen == JFileChooser.APPROVE_OPTION) {   
      System.out.println(Chooser.getCurrentDirectory().toString()+"\\"+Chooser.getSelectedFile().getName()); 
     } 

    } 

Para obtener el nombre del archivo seleccionado y la ubicación, que es todo funciona bien. Me preguntaba como una adición, ¿también hay una forma de obtener todos los nombres de los archivos en ese directorio? algo así como .getAllFiles() ¿He tenido una búsqueda y no puedo encontrar una?

Gracias de antemano.

Respuesta

7

dudas emplear

File[] filesInDirectory = chooser.getCurrentDirectory().listFiles(); 

A continuación, puede iterar sobre esa matriz:

for (File file : filesInDirectory) { 
    System.out.println(file.getName()); 
} 
+2

¿No sería más fácil simplemente usar 'list()', ya que OP solo busca los nombres de los archivos? – mre

+0

Gracias, he usado list() y la sugerencia anterior, exactamente lo que quería, muchas gracias! –

+0

@ Крысa: Si eso es * todo * lo que quería hacer (y dependiendo de su definición de "nombre de archivo"), entonces sí. Pero, por lo general, en realidad desea interactuar con un objeto 'Archivo' en algún momento e intentaba alejar al OP del uso de un intermediario String. Mi preferencia es seguir con los objetos reales hasta que llegue la hora de la presentación. Además, si él quisiera filtrar los directorios que son mucho más limpios usando un 'FileFilter' que un' FilenameFilter', y que solo está disponible para 'listFiles()'. –

4

Bueno, hay File.list(). Esto mostrará una lista de todos los archivos por su nombre del directorio especificado (es decir, File). Pero esto también devolverá los nombres del directorio. Para eludir eso, use el otro método File.list(FilenameFilter filter) que le permitirá filtrar los directorios de la lista.

Cuestiones relacionadas