Bom dia pessoal,
Eu estou desenvolvendo uma aplicação que trabalha com o operações de IO. Em determinado ponto da aplicação eu preciso escrever ou sobrepor um arquivo, porém, antes de fazer essa operação eu gostaria de saber se o arquivo está ou não sendo utilizado por outro processo do SO. Para saber isso, eu tento renomear o arquivo para ele mesmo tipo:
File file = new File(“c:\texto.txt”);
if (file.renameTo(file)){
//Não esta sendo usado
}
dessa forma, se o teste acima retornar falso, significa que o arquivo esta sendo utilizado, porém, existem casos no windows, onde o arquivo esta sendo utilizado e mesmo assim o teste retorna verdadeiro, dai minha aplicação tente escrever no arquivo e ocorre uma exceção dizendo acesso negado ao arquivo. Alguém sabe se tem alguma outra forma de eu saber se uma arquivo está ou não sendo utilizado pelo SO ?