Twitter Facebook RSS Feed

martes, 17 de marzo de 2015 a las 13:20hs por Gustavo Cantero (The Wolf)

Una de las features que extraño al trabajar en Java (por consiguiente, también en Android) es la posibilidad de eliminar múltiples archivos dependiendo de un «wildcard», por ejemplo, borrar todos los apk de una carpeta utilizando «*.apk».
Por eso les paso una función que utilizo para esta tarea:

/**
 * Elimina los archivos con una determinada extensión de una carpeta
 * @param path Carpeta de la cual eliminar los archivos
 * @param extension Extensión de los archivos a eliminar
 */
public static void eliminarPorExtension(String path, final String extension){
    File[] archivos = new File(path).listFiles(new FileFilter() {
        public boolean accept(File archivo) {
            if (archivo.isFile())
                return archivo.getName().endsWith('.' + extension);
            return false;
        }
    });
    for (File archivo : archivos)
        archivo.delete();
}

Obviamente la función se puede modificar para eliminar los archivos que comiencen con un nombre específico o incluso para utilizar una expresión regular para seleccionar qué archivos eliminar.
Espero les sirva.
Suerte!

4 comentarios »

  1. david alexanders jimenez figueroa dice:

    como hago para eliminar una imagen guardado en el almacenamiento interno de la app?

  2. Erick Colindres dice:

    Amigo lo modifique algo:

            public void eliminarPorExtension(File path, String extension){
            File[] archivos = path.listFiles((File archivo) -> {
                if (archivo.isFile())
                    return archivo.getName().endsWith('.'+extension);
                return false; 
            });
            for (File archivo : archivos)
                archivo.delete();
            }

    Saludos

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.