Como esperar o processo do Windows terminar antes de abrir o arquivo em java

Eu implementei um ouvinte que notifica se recebermos um novo arquivo em um diretório específico. Isso é implementado pesquisando e usando uma TimerTask. Agora, o programa está tão configurado que, depois de receber um novo arquivo, chama outro programa java que abre o arquivo e valida se é o arquivo correto. Meu problema é que, como a pesquisa acontece um número especificado de segundos depois, pode surgir um caso em que um arquivo está sendo copiado nesse diretório e, portanto, é bloqueado pelo Window

Isto lança uma IOException, pois o outro programa java que tenta abri-lo para validação não pode ("O arquivo está sendo usado por outro processo"

Existe uma maneira de saber quando o Windows terminou a cópia e depois chamar o segundo programa para fazer as validações do jav

Ficarei feliz em publicar trechos de código se alguém precisar deles para ajudar.

Obrigad

questionAnswers(3)

yourAnswerToTheQuestion