Eu tenho um código java que monitora arquivos em umNa pasta, os arquivos são eliminados pelo ftp de outro sistema através de uma tabela. Como garantir que não recebo arquivos incompletos? Os arquivos descartados são arquivos XML.
Respostas:
0 para resposta № 1Tente bloquear o arquivo. Se não estiver completo, você não pode bloqueá-lo:
private boolean isFileComplete(File file) {
FileLock lock = null;
FileChannel channel = null;
try {
channel = new RandomAccessFile(file, "rw").getChannel();
lock = channel.lock();
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
if (lock != null)
try {
lock.release();
channel.close();
} catch (IOException e) {
//Keine Behandlung Notwendig
}
}
return true;
}
Se estiver bloqueado, o arquivo está completo.