Boa noite Galera;
estou tendo problemas para mover arquivos com o renameTO, pois hora o método move os arquivos corretamente e hora não move.
Na maioria das vezes quando faço o processo com o DEBUG tudo funciona corretamente, mas quando não é pelo DEBUG alguns arquivos não são movidos.
segue método:
private void moveArquivo(final String pastaTemporaria , final File arquivoOrigem) {
File diretorioDestino = new File(pastaTemporaria );
if (!diretorioDestino.exists()) {
diretorioDestino.mkdir();
}
arquivoOrigem.renameTo(new File(diretorioDestino, arquivoOrigem.getName()));
}
Utilizo este método em dois trechos::
//Trecho 1:
File file = new File("C:/Arquivos");
if (file.isDirectory()) {
for (File fileTif : file.listFiles()) {
if (fileTif.isFile()) {
File arquivoTif = new File(paramImagemVO.getDcCaminhoImagem() + "/" + (fileTif.getName()));
moveArquivo("C:/imagens", arquivoTif);
}
}
}
//Trecho 2:
File destinoImagens = new File("C:/imagens");
if (destinoImagens.isDirectory()) {
for (File fileTif : destinoImagens.listFiles()) {
File file = new File(destinoImagens + "/" + (fileTif.getName()));
moveArquivo("C:/ImagensProcesssadas", file);
}
}
Basicamente neste código, estou pegando os arquivos na pasta “C:/Arquivos”, movendo para C:/imagens, e quando processo todas elas estou movendo para C:/ImagensProcesssadas.
No primeiro processo de “C:/Arquivos”, movendo para “C:/imagens” todo os arquivos são movidos com sucesso, mas no segundo processo (de “C:/imagens” para “C:/ImagensProcesssadas”) alguns arquivos não são movidos quando executo o programa sem ser pelo modo debug.
Existe uma explicação para isso ?
Obrigado.