English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

¿Cómo obtener todos los archivos de una carpeta en Java?/Lista de carpetas?

clases de nombresarchivosenjava.ioEl paquete representa un archivo o directorio (ruta de nombre) en el sistema. Este tipo proporciona varios métodos para operar con archivos/El directorio ejecuta varias operaciones.

Para obtener la lista de todos los archivos existentes en el directorio, este tipo proporcionalist()La clase files con diferentes variantes proporciona (devuelve nombres) y ListFiles (devuelve objetos File).

EsteList()Método

Este método devuelve un array de cadenas que contiene los nombres de todos los archivos y directorios en la ruta representada por el objeto (archivo) actual.

Utilizando este método, puede imprimir solo los nombres de archivos y directorios.

Ejemplo

El siguiente programa Java enumera la rutaD:\ ExampleDirectorycon los nombres de todos los archivos y directorios.

import java.io.File;
import java.io.IOException;
public class ListOfFiles {
   public static void main(String args[]) throws IOException {
      //Crear objeto de archivo para el directorio
      File directoryPath = new File("D:\\ExampleDirectory");
      //Lista de todos los archivos y directorios
      String[] contents = directoryPath.list();
      System.out.println("Lista de archivos y directorios en el directorio especificado:");
      for(int i = 0; i < contents.length;++) {
         System.out.println(contents[i]);
      }
   }
}

Resultado de la salida

Lista de archivos y directorios en el directorio especificado:
SampleDirectory1
SampleDirectory2
SampleFile1.txt
SampleFile2.txt
SapmleFile3.txt

EsteListFiles()Método

Este método devuelve un array que guarda los objetos (ruta abstracta) de todos los archivos (y directorios) en la ruta representada por el objeto (archivo) actual.

Debido a que este método devuelve cada archivo en la carpeta/Objeto del directorio. Usándolo, puede acceder a archivos/Propiedades del directorio, como tamaño, ruta, etc.

Ejemplo

El siguiente programa Java imprimirá la rutaD:\ ExampleDirectoryde todos los archivos en la ruta, con sus nombres, rutas y tamaños.

import java.io.File;
import java.io.IOException;
public class ListOfFiles {
   public static void main(String args[]) throws IOException {
      //Crear objeto de archivo para el directorio
      File directoryPath = new File("D:\\ExampleDirectory");
      //Lista de todos los archivos y directorios
      File[] filesList = directoryPath.listFiles();
      System.out.println("Lista de archivos y directorios en el directorio especificado:");
      for(File file: filesList) {
         System.out.println("Nombre del archivo: ");+file.getName());
         System.out.println("Ruta del archivo: ");+file.getAbsolutePath());
         System.out.println("Tamaño: ");+file.getTotalSpace());
         System.out.println(" ");
      }
   }
}

Resultado de la salida

Lista de archivos y directorios en el directorio especificado:
Nombre de archivo: SampleDirectory1
Ruta de archivo: D:\ExampleDirectory\SampleDirectory1
Tamaño :262538260480
Nombre de archivo: SampleDirectory2
Ruta de archivo: D:\ExampleDirectory\SampleDirectory2
Tamaño :262538260480
Nombre del archivo: SampleFile1.txt
Ruta del archivo: D:\ExampleDirectory\SampleFile1.txt
Tamaño :262538260480
Nombre del archivo: SampleFile2.txt
Ruta del archivo: D:\ExampleDirectory\SampleFile2.txt
Tamaño :262538260480
Nombre del archivo: SapmleFile3.txt
Ruta de archivo: D:\ExampleDirectory\SapmleFile3.txt
Tamaño :262538260480

Método List (FilenameFilter filter)

Como sugiere su firma, este método acepta un objeto FilenameFilter y devuelve un array de cadenas que contiene los nombres de todos los archivos y directorios en la ruta representada por el objeto (File). Sin embargo, el array ajustado nuevamente contiene nombres de archivos filtrados según el filtro especificado.

Utilizando este método, puede obtener los nombres filtrados de archivos y directorios en una carpeta específica.

Ejemplo

El siguiente programa Java se encuentra en la rutaEn D:\\ ExampleDirectoryImprimir los nombres de los archivos de texto.

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
public class ListOfFiles {
   public static void main(String args[]) throws IOException {
      //Crear objeto de archivo para el directorio
      File directoryPath = new File("D:\\ExampleDirectory");
      FilenameFilter textFilefilter = new FilenameFilter() {
         public boolean accept(File dir, String name) {
            String lowercaseName = name.toLowerCase();
            if (lowercaseName.endsWith(".txt")) {
               return true;
            } else {
               return false;
            }
         }
      };
      //Lista de todos los archivos de texto
      String[] filesList = directoryPath.list(textFilefilter);
      System.out.println("Lista de archivos de texto en el directorio especificado:");
      for (String fileName : filesList) {
         System.out.println(fileName);
      }
   }
}

Resultado de la salida

Lista de archivos de texto en el directorio especificado-

SampleFile1.txt
SampleFile2.txt
SapmleFile3.txt

Método ListFiles (FilenameFilter filter)

Este método acepta un objeto FilenameFilter y devuelve un array de File que contiene todos los objetos de archivos y directorios en la ruta representada por el objeto File actual. Sin embargo, el array ajustado nuevamente contiene archivos (objetos) filtrados según los nombres de los archivos

Con este método, puede obtener el objeto de filtro de archivos y directorios de archivos y directorios según los nombres de archivos y directorios.

Ejemplo

El siguiente programa Java se encuentra en la rutaEn D:\\ ExampleDirectoryImprimir todos los nombres, rutas y tamaños de los archivos de texto.

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
public class ListOfFiles {
   public static void main(String args[]) throws IOException {
      //Crear objeto de archivo para el directorio
      File directoryPath = new File("D:\\ExampleDirectory");
      FilenameFilter textFilefilter = new FilenameFilter() {
         public boolean accept(File dir, String name) {
            String lowercaseName = name.toLowerCase();
            if (lowercaseName.endsWith(".txt")) {
               return true;
            } else {
               return false;
            }
         }
      };
      //Lista de todos los archivos de texto
      File[] filesList = directoryPath.listFiles(textFilefilter);
      System.out.println("Lista de archivos de texto en el directorio especificado:");
      for(File file: filesList) {
         System.out.println("Nombre del archivo: ");+file.getName());
         System.out.println("Ruta del archivo: ");+file.getAbsolutePath());
         System.out.println("Tamaño: ");+file.getTotalSpace());
         System.out.println(" ");
      }
   }
}

Resultado de la salida

Lista de archivos de texto en el directorio especificado:
Nombre del archivo: SampleFile1.txt
Ruta del archivo: D:\ExampleDirectory\SampleFile1.txt
Tamaño :262538260480
Nombre del archivo: SampleFile2.txt
Ruta del archivo: D:\ExampleDirectory\SampleFile2.txt
Tamaño :262538260480
Nombre del archivo: SapmleFile3.txt
Ruta de archivo: D:\ExampleDirectory\SapmleFile3.txt
Tamaño :262538260480

Método ListFiles (FileFilter filter)

Este método acepta un objeto FileFilter y devuelve un array de File que contiene todos los archivos y directorios (objetos) en la ruta representada por el objeto File actual. Sin embargo, el array ajustado nuevamente contiene archivos (objetos) filtrados según las propiedades del archivo.

Con este método, puede obtener el objeto de filtro de archivos y directorios específico en una carpeta determinada según el tamaño, la ruta, el tipo (archivo o directorio) y otros.

Ejemplo

El siguiente programa Java se encuentra en la rutaEn D:\\ ExampleDirectoryImprimir todos los nombres, rutas y tamaños de los archivos (no carpetas).

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
public class ListOfFiles {
   public static void main(String args[]) throws IOException {
      //Crear objeto de archivo para el directorio
      File directoryPath = new File("D:\\ExampleDirectory");
      FileFilter textFilefilter = new FileFilter(){
         public boolean accept(File file) {
            boolean isFile = file.isFile();
            if (isFile) {
               return true;
            } else {
               return false;
            }
         }
      };
      //Lista de todos los archivos de texto
      File[] filesList = directoryPath.listFiles(textFilefilter);
      System.out.println("Lista de archivos de texto en el directorio especificado:");
      for(File file: filesList) {
         System.out.println("Nombre del archivo: ");+file.getName());
         System.out.println("Ruta del archivo: ");+file.getAbsolutePath());
         System.out.println("Tamaño: ");+file.getTotalSpace());
         System.out.println(" ");
      }
   }
}

Resultado de la salida

Lista de archivos de texto en el directorio especificado:
Nombre del archivo: cassandra_logo.jpg
Ruta del archivo: D:\ExampleDirectory\cassandra_logo.jpg
Tamaño :262538260480
Nombre del archivo: cat.jpg
Ruta del archivo: D:\ExampleDirectory\cat.jpg
Tamaño :262538260480
Nombre del archivo: coffeescript_logo.jpg
Ruta del archivo: D:\ExampleDirectory\coffeescript_logo.jpg
Tamaño :262538260480
Nombre del archivo: javafx_logo.jpg
Ruta del archivo: D:\ExampleDirectory\javafx_logo.jpg
Tamaño :262538260480
Nombre del archivo: SampleFile1.txt
Ruta del archivo: D:\ExampleDirectory\SampleFile1.txt
Tamaño :262538260480
Nombre del archivo: SampleFile2.txt
Ruta del archivo: D:\ExampleDirectory\SampleFile2.txt
Tamaño :262538260480
Nombre del archivo: SapmleFile3.txt
Ruta de archivo: D:\ExampleDirectory\SapmleFile3.txt
Tamaño :262538260480