Estou utilizando o codigo abaixo para fazer backup de um banco mysql, esta funcionando bem porem, quando tem palavras com ACENTRO, Ç ou qualquer outro caracter especial ele da problema e salva a palavra errado.
String arquivo = "BACKUP_";
String banco = "sistema";
Date hoje = new Date(); // Pega a data do dia
String formato = "ddMMyyyy"; // Formato que ira ficar a data
SimpleDateFormat formatter = new SimpleDateFormat(formato);
String result = formatter.format(hoje); // Variavel result ira receber a data formatada
{
try {
Runtime runtime = Runtime.getRuntime();
File backupFile = new File("C:/Teste/banco/backup/" + arquivo + "" + result + ".sql"); // Caminho para onde ira o backup passando o nome do arquivo e a data
FileWriter fw = new FileWriter(backupFile);
Process child = runtime.exec("C:/Arquivos de programas/MySQL/MySQL Server 5.1/bin/mysqldump --user=root --password=123 " + banco); // Caminho onde encontrasse o dumpmysql, passando o usuario, a senha e nome do banco
InputStreamReader irs = new InputStreamReader(child.getInputStream());
BufferedReader br = new BufferedReader(irs);
String line;
while( (line=br.readLine()) != null ) {
fw.write(line + "\n");
}
fw.close();
irs.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Se alguem souber outra maneira de fazer o backup tambem pode ser.
Abraço