Ae galera blza como eu sei que um outro aplicativo esta com um determinado arquivo aberto, ex: Um aplicativo qualquer esta com um arquivo .txt aberto eu tenho de saber quando esse outro aplicativo terminou.
Blza!
Falow
Ae galera blza como eu sei que um outro aplicativo esta com um determinado arquivo aberto, ex: Um aplicativo qualquer esta com um arquivo .txt aberto eu tenho de saber quando esse outro aplicativo terminou.
Blza!
Falow
Com o pacote java.nio você consegue verificar isso usando lock de arquivos.
Tem um exemplinho se não for pedir demais ? :lol: ou um lugar onde eu possa ver um exemplo usando um lock de arquivo para saber se o mesmo esta sendo usado por outro aplicativo, importante: Esse outro aplicativo não é Java.
Obrigado 
Aham - na verdade o “lock” de arquivos precisa de alguma cooperação das duas partes (é só ler o Javadoc de FileLock). Isso é feito, por exemplo, em alguns sistemas onde você define partes do arquivo que devem ficar “travadas” - tais como bancos de dados ISAM. Então é preciso ver se o tal outro programa também usa “locks”, e de que forma ele usa “locks”.
Na verdade só vi isso uma vez num sistema que desenvolvemos aqui na empresa, que é uma atualização de um sistema antiquíssimo, que roda em C e usa lock de arquivos para efetuar tal controle. O problema é que como FileLock só existe do Java 1.4 em diante, e o cliente tinha só o 1.3 homologado, a gente teve de se responsabilizar e efetuar uma “cópia privada” do 1.4 para rodar só o nosso sistema nessa máquina Solaris. Mas como precisa de cooperação entre as duas partes, e o código não é open-source, nem adianta eu querer postar aqui um código-exemplo. (Procure FileLock no www.javaalmanac.com, talvez tenha um exemplo lá)
Pode ser que o arquivo tenha sido aberto pelo outro programa apenas para leitura, e permitindo compartilhamento (é o default); nesse caso, você consegue abrir o arquivo sem problemas.
Pode ser que o arquivo tenha sido aberto pelo outro programa para escrita, de forma que outros programas não consigam abrir; nesse caso, você nem consegue abrir de jeito nenhum.
De modo geral, é mais fácil tentar abrir o arquivo, e se receber uma exceção, é porque você não pode abri-lo mesmo.