Archivo método listFiles() en Java con ejemplos

El método listFiles() es parte de la clase File . La función devuelve una array de archivos que denotan los archivos en un nombre de ruta abstracto dado si el nombre de la ruta es un directorio; de lo contrario, devuelve nulo. La función es una función sobrecargada. Una de las funciones no tiene ningún parámetro, la segunda función toma el objeto FilenameFilter como parámetro, la tercera función toma el objeto FileFilter como parámetro

Firma de función:

public File[] listFiles()
public File[] listFiles(FilenameFilter f)
public File[] listFiles(FileFilter f)

Sintaxis de la función:

file.listFiles()
file.listFiles(filter)

Parámetros: La función es una función sobrecargada

  • Una de las funciones no tiene ningún parámetro,
  • La segunda función toma el objeto FilenameFilter como parámetro,
  • La tercera función toma el objeto FileFilter como parámetro.

Valor devuelto: la función devuelve una array de archivos o un valor nulo si el objeto de archivo es un archivo.

Excepción: este método arroja una excepción de seguridad si la función no tiene acceso de lectura al archivo.

Los siguientes programas ilustrarán el uso de la función listFiles()

Ejemplo 1: Intentaremos encontrar todos los archivos y directorios en un directorio dado

// Java program to demonstrate the
// use of listFiles() function
  
import java.io.*;
  
public class solution {
    public static void main(String args[])
    {
  
        // try-catch block to handle exceptions
        try {
  
            // Create a file object
            File f = new File("f:\\program");
  
            // Get all the names of the files present
            // in the given directory
            File[] files = f.listFiles();
  
            System.out.println("Files are:");
  
            // Display the names of the files
            for (int i = 0; i < files.length; i++) {
                System.out.println(files[i].getName());
            }
        }
        catch (Exception e) {
            System.err.println(e.getMessage());
        }
    }
}

Producción:

Files are:
1232.txt
1245.txt
5671.txt
program1

Ejemplo 2: Intentaremos encontrar todos los archivos y directorios en un directorio determinado cuyos nombres comiencen con «12»

// Java program to demonstrate the
// use of listFiles() function
  
import java.io.*;
  
public class solution {
    public static void main(String args[])
    {
  
        // try-catch block to handle exceptions
        try {
  
            // Create a file object
            File f = new File("f:\\program");
  
            // Create a FilenameFilter
            FilenameFilter filter = new FilenameFilter() {
  
                public boolean accept(File f, String name)
                {
                    return name.startsWith("12");
                }
            };
  
            // Get all the names of the files present
            // in the given directory
            // and whose names start with "12"
            File[] files = f.listFiles(filter);
  
            System.out.println("Files are:");
  
            // Display the names of the files
            for (int i = 0; i < files.length; i++) {
                System.out.println(files[i].getName());
            }
        }
        catch (Exception e) {
            System.err.println(e.getMessage());
        }
    }
}

Producción:

Files are:
1232.txt
1245.txt

Ejemplo 3: Intentaremos encontrar todos los archivos y directorios en un directorio dado que son archivos de texto

// Java program to demonstrate the
// use of listFiles() function
  
import java.io.*;
  
public class solution {
    public static void main(String args[])
    {
  
        // try-catch block to handle exceptions
        try {
  
            // Create a file object
            File f = new File("f:\\program");
  
            // Create a FileFilter
            FileFilter filter = new FileFilter() {
  
                public boolean accept(File f)
                {
                    return f.getName().endsWith("txt");
                }
            };
  
            // Get all the names of the files present
            // in the given directory
            // which are text files
            File[] files = f.listFiles(filter);
  
            System.out.println("Files are:");
  
            // Display the names of the files
            for (int i = 0; i < files.length; i++) {
                System.out.println(files[i].getName());
            }
        }
        catch (Exception e) {
            System.err.println(e.getMessage());
        }
    }
}

Producción:

Files are:
1232.txt
1245.txt
5671.txt

Es posible que los programas no se ejecuten en un IDE en línea. use un IDE fuera de línea y configure el archivo principal del archivo

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *