Fora o que o palmadias sugeriu, seria interessante que a aplicação que está criando o arquivo nesse tal diretório, SE POSSÍVEL, faça o seguinte:
a) Crie o tal arquivo com um nome um pouco diferente, enquanto ela está gravando o arquivo;
b) Finalmente, renomeie o arquivo para o nome correto.
Por exemplo, se o tal diretório recebe arquivos .dat, você pode solicitar à tal aplicação criar o tal arquivo com o nome .dat.tmp e quando ela acabar de transferir os bytes, renomear o arquivo .dat.tmp para .dat. Aí você só processa os arquivos .dat, não os arquivos .dat.tmp.
É que se você simplesmente deixar a tal aplicação já criar o arquivo com o nome definitivo enquanto ela está transferindo os bytes, pode ser que você acabe lendo um arquivo incompleto, o que é indesejável.