ls (list directory) recursivo en Java

Motivado por las publicación Listar un directorio y Listar un directorio de forma recursiva (siempre en Java) de  Linea de Codigo, volví a abrir mi IDE para escribir algo de Java y refrescar la memoria un poco.

El resultado fue una pequeña aplicación que no incorpora mucho más que las publicaciones originales, pero que me ha servido para renovar un poco el código de Java que circula perdido por mi cabeza, conocer algo más de la clase File, algo de la clase Date y el ingreso y visualización por consola.

A continuación veremos una descripción de la pequeña aplicación y el código de la misma con algún que otro comentario pertinente.

package directorios;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author luciano
 */

public class Main {

    /**
     * List a directory
     * @param f Directory path
     */

    public static void lsDirectory ( File dir ) {

        File[] archivos = dir.listFiles();
        for ( int i=0 ; i<archivos.length ; i++ ) {
            System.out.print( i +“) “  +  archivos[i].getName() + “t” );
            if ( archivos[i].isDirectory()  ) {
                lsDirectory( archivos[i] );
            }
            String date = new SimpleDateFormat(“dd/MM/yyyy HH:mm:ss”).format(new Date ( archivos[i].lastModified() ));
            System.out.println(date);
        }
   }

    /**
     * main method
     * @param args argumentos de línea de comandos
     */

    public static void main(String[] args) {
        String path = null;
        try {
            BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
            System.out.print(“Ingrese directorio:”);
            path = in.readLine();
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

        File dir = new File(path);
        if (!dir.exists()) {
            System.out.println(“Directorio no existe”);
        } else {
            lsDirectory(dir);
        }
    }
}

5 comentario en este artículoDeje el suyo
  1. Muy interesante, gracias.

  2. Perfecto
    Por favor necesito la misma “package directorios” pero para mi servidor web
    quiero listar archivo en una carpeta web.
    http://www.1111.con/carpeta/

    por favor una manita

  3. de veras me sirvió ya que es lo que exactamente buscaba…! pero si lo quiero meter a un arraylist solo los nombres de cada archivo que esta en el directorio??

  4. Hola, muy buena la info! intenté utilizarlo para direcciones URI pero no me funciona. Necesito lo mismo que Claudio… mi código es este:

    File dir = new File(“http://developer.int.opencms.com.ar:8180/opencms/opencms/img”);
    String[] ficheros = dir.list(); <— EN ESTA LÍNEA SIEMPRE ME DA NULL Y NO DEBERÍA
    if(ficheros != null)
    // Hay ficheros
    else
    // No hay ficheros

    Por favor si alguien me puede ayudar me haría un gran favor =J

  5. Hola muy interesante es algo de lo que necesito pero en mi caso tengo que agregarle algo adicional que es listar directorios remisivamente y abrir sus ficheros para imprimir en consola lo que dichos ficheros contienen, por favor si me pueden ayudar con esto please.

Deje su comentario

Por favor, ingrese su nombre

Por favor, ingrese un correo-e válido

Por favor, ingrese su mensaje

luauf.com 2012

WordPress