El método list() definido en la clase java.io.File que se utiliza para obtener la lista de archivos y carpetas (directorios) presentes en el directorio especificado definido por su nombre de ruta. La lista de archivos se almacena en una array de strings. Si la longitud de una array es mayor que 0, entonces el directorio especificado no está vacío; de lo contrario, está vacío.
Método 1: Uso del método list()
- Supongamos que hay un directorio presente en la ruta /inicio/usuario/carpeta y tiene tres archivos de texto.
- Cree una array y almacene el nombre de los archivos usando el método list().
- Calcular la longitud de una array de strings
- Imprimir resultado
Vea el siguiente programa para el enfoque anterior.
Java
// Java Program to check if // a directory is empty or not import java.io.File; class GFG { public static void main(String[] args) { // mention the directory path File directory = new File("/home/mayur"); if (directory.isDirectory()) { // creating a String Array // store name of files String arr[] = directory.list(); // check if length is greater than 0 or not if (arr.length > 0) { System.out.println("The directory " + directory.getPath() + " is not Empty!"); } else { System.out.println("The directory " + directory.getPath() + " is Empty!"); } } } }
Producción:
Método 2: uso de DirectoryStream
Java 7 en adelante, se introdujo el método Files.newDirectoryStream que devuelve un DirectoryStream<Path> para iterar sobre todas las entradas en el directorio.
- Supongamos que hay un directorio presente en la ruta /inicio/usuario/carpeta y tiene tres archivos de texto.
- Cree una función booleana que verifique si el directorio está vacío o no
- Si una ruta dada es un archivo, lanza una excepción
- Si un directorio dado tiene archivos, devuelve falso o verdadero.
- Imprime el resultado
Vea el siguiente programa para el enfoque anterior.
Java
// Java Program to check if a // directory is empty or not import java.io.File; import java.io.IOException; import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; public class GFG { // boolean function which // return true if directory is // empty else return false public static boolean isEmptyDirectory(File directory) throws IOException { // check if given path is a directory if (directory.exists()) { if (!directory.isDirectory()) { // throw exception if given path is a // file throw new IllegalArgumentException( "Expected directory, but was file: " + directory); } else { // create a stream and check for files try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream( directory.toPath())) { // return false if there is a file return !directoryStream.iterator() .hasNext(); } } } // return true if no file is present return true; } public static void main(String[] args) throws IOException { // enter path of directory File directory = new File("/home/mayur"); // call isEmptyDirectory Function if (isEmptyDirectory(directory)) { System.out.println("The directory " + directory.getPath() + " is Empty!"); } else { System.out.println("The directory " + directory.getPath() + " is Not Empty!"); } } }
Producción:
Publicación traducida automáticamente
Artículo escrito por rohanchopra96 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA