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.
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);
}
}
}


David
enero 24, 2010
Muy interesante, gracias.
claudio
febrero 14, 2011
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
Andres
abril 5, 2011
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??
Martín
mayo 23, 2011
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
Cindy
julio 6, 2011
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.