Barra de Progresso

Gostaria que durante a realização do meu backup fosse mostrada uma barra de progresso.
Já tentei fazer para esse código de backp aí abaixo e p inicialização dos programas(como no (netbens por exemplo).
Tem alguns exmplos aqui no guj, mas não consegui.

meu banco mysql possui 10 tabelas.

agradeço!!

[code]String novonome = null;
int numerodobackup = 0;

        File diretorio = new File("C:/teste1");
        File bck = new File("C:/teste1/almoxarifado.sql");
        
   
        if(!diretorio.isDirectory()) {
          new File("C:/teste1").mkdir();
         
        } else {  
        }
        
        // Cria Arquivo de Backup
        try {
            if(!bck.isFile()) {
                
                
                    String comando="C:\Arquivos de programas\MySQL\MySQL Server 5.0\bin\mysqldump.exe";   
                    ProcessBuilder pb=new ProcessBuilder(comando,"--user=root","--password=adm","almoxarifado","--result-file=C:\teste1\almoxarifado.sql");   
                    pb.start(); 
                    JOptionPane.showMessageDialog(this, "Cópia de segurança realizada com sucesso");
           
            } else {
                while(bck.isFile()) {
                    numerodobackup ++;
               
                    bck = new File("C:/teste1/almoxarifado"+numerodobackup+".sql");
                    novonome= String.valueOf(bck);
                     
                    }

                        String comando="C:\Arquivos de programas\MySQL\MySQL Server 5.0\bin\mysqldump.exe";   
                        ProcessBuilder pb=new ProcessBuilder(comando,"--user=root","--password=adm","almoxarifado","--result-file="+novonome);   
                        pb.start(); 
                        JOptionPane.showMessageDialog(this, "Cópia de segurança realizada com sucesso!");
            }
            } catch (IOException ex) {
            ex.printStackTrace();
            JOptionPane.showMessageDialog(this, "Copia de segurança não realizada!");
            }[/code]

Nesse caso você tem um problema: não há como saber o progresso do backup pois um único processo realiza o backup das 10 tabelas (e esse processo não dá informação alguma de progresso).

Possíveis soluções:

  1. Fazer o backup de cada tabela separadamente (vide documentação do mysqldump).

  2. Usar a opção -v (verbose) e pegar o InputStream do processo, aplicando regex para ver onde o processo está (use um Scanner, pois a saída de verbose mostra uma informação como: “-- Retrieving table structure for table X…” para cada tabela que percorre).

Da uma olhadinha neste projetinho, é bem modesto mais pode abrir caminhos para mais pesquisas.

Use netBeans

http://www.megaupload.com/?d=NJVNQX0V