Movendo diretorios, ajuda

Boa tarde a todos :smiley:
Estou com uma duvida, estou criando um programa que organize as minhas bandas de mp3 em diretorios da seguinte forma “genero/banda/album” ate ai tudo bem, fiz um pequeno metodo que lista todas as bandas que tenho a partir de um determinado diretorio raiz, ate ai tudo bem, agora gostaria de mover determinados diretorios para outro local, por exemplo se eu tenho “gothic metal/rhapsody/Power of dragon flames” e quero mover o album power of dragon flames para dentro do diretorio da banda rhapsody que deve ficar dentro do diretorio genero power metal (“power metal/rhapsody/power of dragon flames”) como eu devo fazer? não achei nenhum metodo na class File que faça coisa do tipo, então eu deveria sair copiando arquivos por arquivo em um laço?
e mais uma pergunta, se eu fizer File novoDiretorio = new File(“C:/power metal/rhapsody/power of dragon flames/musica1.mp3”); caso os diretorios power metal, rhapsody e power of dragon flames não existam o metodo construtor se responsabiliza em cria-lo? ou eu so posso criar diretorio por diretorio?

A classe File não representa o arquivo mas a apenas a localização do arquivo.
Vc não precisa copiar o arquivo, vc precisa mover o arquivo. Para mover o arquivo vc simplesmente renomeia-o.
Entenda que renomear em File significa mudar a localização, que é o que vc quer. Veja no javadoc File.rename();

Muito obrigado amigo, eu não fazia a minima ideia sobre isso, eu dei uma olhada na documentação da classe File mas como não sou bom de inglês não entendi muito bem. Obrigado