(Código) Utilizando java.io.File

Que tal a todos, bueno pues esta es mi primera aportación respecto a código fuente. Realmente es algo bastante sencillo, y me sirvió para ordenar mis archivos de música, no hace grandes cosas, pero al menos a mi me ha servido para resolver mi problema en particular, y digamos, que para no desperdiciar este pequeño código (así como algunos no deseamos desperdiciar la comida, por decir algún ejemplo análogo) ya que pensaba en eliminarlo, pensé que tal vez a alguien le podría servir de referencia.

Primeramente, entraré en detalle de cuál la problemática que intentaba resolver con este pequeño código: Normalmente ordeno mis albums de música en una carpeta con el nombre del artista y dentro de esa misma carpeta, encarpetaba individualmente cada uno de los albums del mismo artista. Y así tengo cientos de artistas y con sus respectivos albums. Hasta que un día pensé que era difícil navegar por los archivos de mp3, ya que tenía que estar entrando y saliendo a través de múltiples carpetas y decidí mejor poner en raíz todos los albums de todos los artistas con el siguiente formato para que así los archivos no estén navegando como una "sopa de albums": artista - [] album (Y entre los corchetes opcionalmente poner el año en que se creo el album, claro, eso tendría que ser manualmente e independiente de este pequeño programa, por que esa información, no la tengo para todos mis archivos).

Ahora bien aquí les copio y pego el código:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package albums;
import java.io.File;

/**
 *
 * @author cfpmx
 */

public class Main {

    /**
     * @param args the command line arguments
     */

    public static void main(String[] args) throws java.io.IOException {
        // TODO code application logic here
        File raiz = new File( "artistas" );

        String[] raizdir = raiz.list();

        for( String nomArtista : raizdir ) {
            File avance = new File( "./artistas/" + nomArtista );

            for( File nomAlbum : avance.listFiles() ){
                String renom = nomArtista + " - [] " + nomAlbum.getName();
                System.out.println( renom );
                File renombrar = new File(  renom );
                nomAlbum.renameTo( renombrar );
                System.out.println( nomAlbum.getName() );
            }

           
        }
    }

}

Este programa lo he creado con netbeans, cree un directorio "artistas" en el proyecto y por default ahí pegué las carpetas de los artistas que contenían los albums. Creo que esto es todo, si tienen dudas o problemas al ejecutarlo, no duden en preguntarme y finalmente, no acepto críticas pero si comentarios, ya que este código como les mencioné anteriormente fue EXPRESS y definitivamente le podemos componer, quitar o añadir las cosas que se nos venga en mente y mi única intensión fue en que probablemente a alguien le pudiera servir tal vez para fines didácticos.

Hasta pronto, y muchos saludos.

Atentamente, cfpmx.

PD: Les dejo el proyecto: http://cid-23c5625615d3fbdb.skydrive.live.com/self.aspx/.Public/javamexi...

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

jid3lib

En SourceForge encuentras el proyecto jid3lib el cual te permite leer los tags de ID3 de archivos MP3, esto puede ser útil para tu caso porque si tienes un archivo que se llame "rola.mp3" puedes abrirlo con esta librería y obtener info del artista, album, año, y demás datos que traiga el archivo (obviamente sirve siempre y cuando el MP3 contenga esos datos).

Imagen de cfpmx

Interesante, ¡gracias por

Interesante, ¡gracias por la información!.

Imagen de benek

Muy bueno.

Interesante y útil script.

Yo hice uno con la misma funcionalidad para ordenar mi música pero en Ant :-p

Imagen de cfpmx

Re: Muy bueno.

Hola benek, ¿Disculpa como funciona Ant? Nunca he trabajado con eso. Saludos.

Imagen de benek

Re: Muy bueno.

Da un vistazo al artículo que escribí al respecto:

http://www.javamexico.org/blogs/benek/introduccion_apache_ant

;-)