Bom dia galera,
mermão estou passando por algo muito intrigante…
o código abaixo, se eu rodar ele via debbug, ele funciona na boa, sem problema nenhum. Porém, se eu der um execute direto, ele dar erro. Só me expliquem porque.
public class UploadUtil {
public static void main(String args[]) {
SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
String data = formatador.format(new Date());
data = data.replace("/", "");
String comando = "cmd.exe /c mysqldump -uroot -proot -t -c --skip-extended-insert test usuario > c:\\backup_"
+ data + ".sql";
File arquivo = new File("c:\\backup_" + data + ".sql");
try {
Runtime.getRuntime().exec(comando);
File file = new File("c:\\backup_2_" + data + ".sql");
FileWriter writer = new FileWriter(file, true);
PrintWriter saida = new PrintWriter(writer, true);
saida.println("USE test;");
String linha = "";
if (arquivo.exists()) {
FileReader reader = new FileReader(arquivo);
BufferedReader in = new BufferedReader(reader);
while (in.ready()) {
linha = in.readLine();
saida.println(linha);
}
in.close();
}
saida.close();
writer.close();
Bom, e onde ocorre o erro? É simples, ele diz que o arquivo que eu estou tentando ler no BufferReader, não existe.
Mas como é que pode, se eu já executo o runtime antes dele tentar ler, e no meu pc já é gerado o arquivo e tudo. Dae ele da erro.
porém se eu debbugar esse código, ele funciona na limpeza… que viagem,
alguém pode me explicar ???