Como se cria um programa em java para fazer backup do hd externo c/progress bar?

Olá, não intendo muito de programação e queria criar um programa que faça backup do meu hd externo para um hd do meu pc.
Obs: C/interface que me mostrasse a barra de progresso e o nome do arquivo que esta copiando.

Agradeço muito se puderem me ajudar.

[code] try {

        Runtime.getRuntime().exec(
                new String[]{
                    "cmd.exe",
                    "/c",
                    "xcopy C:\\Protetico\\Imagens\\*.* c:\\Protetico\\Backup\\ /e"
                });
        JOptionPane.showMessageDialog(null, "Seu backUp foi feito com sucesso.");
    } catch (IOException ex) {
        Logger.getLogger(Tela.class.getName()).log(Level.SEVERE, null, ex);
    }[/code]