Renomear arquivos em lote com Java

Galera boa noite, hoje eu precisei fazer um código para renomear arquivos em lote ai eu estou estudando Java e fiz um código para resolver o meu problema
e gostaria de compartilhar com o pessoal pois se alguém precisar de um implementação semelhante segue uma pequena contribuição.

ßruno


import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

/**
 *
 * @author Bruno Barbosa da Silva
 * @Email  bbsgt@hotmail.com
 */
public class Renomear {

    private static String direitorio1(String extensao[], String descricao) {
        String path = "";
        JFileChooser fc = new JFileChooser();
        // restringe a amostra a diretorios apenas
        fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        int res = fc.showOpenDialog(null);
        if (res == JFileChooser.APPROVE_OPTION) {
            File diretorio = fc.getSelectedFile();
            path = diretorio.getAbsolutePath();
        } else {
            return null;
        }
        return path;
    }

    /**
     * SELECIONA UM DIRETORIO PARA RENOMEAR ARQUIVOS EM LOTE
     * VERIFICA SE EXITE ARQUIVO E SE O MESMO TEM A MESMA EXTENSÃO QUE EU 
     * DESEJO RENOMEAR, CASO EU NÃO QUERO FILTRAR A EXTENSÃO SÓ BASTA VIRIFICAR 
     * A EXISTECIA DO ARQUIVO
     * if (f.isFile()){
     * COLOQUEI PARA RENOMEAR TODOS OS ARQUIVOS DE UM DIRETORIO DE FORMAR SEQUENCIA COMEÇANDO EM 1000
     * MAS PODE SER ALTERADO PARA SEGUIR QUALQUER LOGICA  DE QUE QUIZER IMPLEMENTAR 
     * 
     * NO MEU CASO ESTOU RENOMEANDO TODOS OS ARQUIVOS DE MP3 DE UM DIRETORIO COMEÇANDO EM 1000.MP3, 1001.MP3, 1002.MP3 ...                
     */
    public static void main(String[] args) {
        File arquivo = new File(direitorio1(null, "ESCOLHE A PASTA"));
        File[] file = arquivo.listFiles();
        if (file != null) {
            int length = file.length;
            for (int i = 0; i < length; ++i) {
                File fileAntigo = file[i];

                if (fileAntigo.isFile() && fileAntigo.getName().substring(fileAntigo.getName().lastIndexOf("."), fileAntigo.getName().length()).equals(".mp3")) {

                    String ARQ = fileAntigo.getPath();
                    String path = ARQ.replace(fileAntigo.getName(), "");
                       File fileNovo = new File(path + (1000 + i) + ".mp3");    // Renomeando arquivo ou diretório  
                    boolean success = fileAntigo.renameTo(fileNovo);
                    if (!success) {
                        JOptionPane.showMessageDialog(null, "ERRO: " + (i + 1));
                    } else {
                    }
                }
            }
        }
    }
}

Precisei fazer outro dia também. (https://bitbucket.org/dimiro1/renamer). Tem interface gráfica em swing.

Oi, estou utilizando o código

 private static String direitorio1(String extensao[], String descricao) {
        String path = "";
        JFileChooser fc = new JFileChooser();
        // restringe a amostra a diretorios apenas
        fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        int res = fc.showOpenDialog(null);
        if (res == JFileChooser.APPROVE_OPTION) {
            File diretorio = fc.getSelectedFile();
            path = diretorio.getAbsolutePath();
        } else {
            return null;
        }
        return path;
    }

porém minha opção “choose” aparece ENABLE. O que pode estar acontecendo?