Pessoal, seguindo a saga… rsrs.
Consegui implementar com uma chamada ao comando copy do Windows.
Porém, ali no meu código eu tenho uma linha informando “Cópia concluída com sucesso” após esse comando.
O caso é que ela é exibida e o programa continua rodando, até finalizar a cópia.
Como posso fazer para “pausar” o andamento do código JAVA, dando sequencia somente quando o processo chamado pelo Runtime finalizar?
Segue o código:
public static void main(String[] args) throws IOException {
System.out.println("Backup da base de dados...");
String DIR_ORIGEM;
String DIR_DESTINO;
DIR_ORIGEM = "\\\\x.x.x.x\\bkp$\\BASE.ZIP";
Calendar dia = Calendar.getInstance();
String[] diaSem = {"Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"};
DIR_DESTINO = "\\\\x.x.x.x\\bkp$\\" + diaSem[dia.get(Calendar.DAY_OF_WEEK) - 1];
File dir = new File(DIR_DESTINO);
if (!dir.exists()) {
dir.mkdir();
} else {
String[] arqs = dir.list();
if (arqs.length > 0) {
for (String arq : arqs) {
File arquivo = new File(dir, arq);
arquivo.delete();
}
}
}
System.out.println("Iniciando copia de arquivo...");
Runtime.getRuntime().exec("cmd.exe /ccopy " + DIR_ORIGEM + " " + DIR_DESTINO + "\\BASE.ZIP");
System.out.println("Copia concluída com sucesso."); //essa linha só deve ser executada após o processo acima finalizar.
}
Obrigado.