private void copiarDiretorio(String origem, String destino) {
        File ficheiroOrigem = new File(origem);
        File ficheiroDestino = new File(destino);
        if (ficheiroOrigem.exists()) {
            if (ficheiroDestino.exists()) {
                if (ficheiroOrigem.isDirectory()) {     // Verifica se o arquivo de origem eh mesmo um ficheiro
                    if (ficheiroDestino.isDirectory()) {  // verifica se o destino eh mesmo um diretorio
                        // Cria um ficheiro com o mesmo nome no destino
                        File copiaFicheiroDestino = new File(destino + File.separator + ficheiroOrigem.getName());
                        if (!copiaFicheiroDestino.exists()) {
                            copiaFicheiroDestino.mkdir();
                            String[] conteudoOrigem = ficheiroOrigem.list();
                            for (int i = 0; i < conteudoOrigem.length; i++) {
                                File arquivo = new File(copiaFicheiroDestino + File.separator + conteudoOrigem[i]);
                                if (!arquivo.exists()) {
                                    try {
                                        arquivo.createNewFile();
                                    } catch (IOException ex) {
                                        javax.swing.JOptionPane.showMessageDialog(viewPrincipal,
                                                "Problema com a criação de arquivo do método copiarArquivo."
                                                + ex);
                                    }
                                } else {
                                    javax.swing.JOptionPane.showMessageDialog(viewPrincipal,
                                            "Já existe um arquivo com esse nome.");
                                }
                                progressBar(conteudoOrigem.length, i);
                            }
                        } else {
                            javax.swing.JOptionPane.showMessageDialog(viewPrincipal,
                                    "Já existe um ficheiro com esse nome.");
                            //deleteDir(copiaFicheiroDestino);
                            //copiaFicheiroDestino.delete();
                        }
                    } else {
                        javax.swing.JOptionPane.showMessageDialog(null, "Você deve selecionar um ficheiro para copiar seu documento.");
                    }
                } else {
                    javax.swing.JOptionPane.showMessageDialog(null, "O arquivo passado não é um ficheiro.");
                }
            } else {
                javax.swing.JOptionPane.showMessageDialog(null, "O ficheiro destino não existe.");
            }
        } else {
            javax.swing.JOptionPane.showMessageDialog(null, "O ficheiro de origem não existe.");
        }
    }