Arquivo aberto

Como identificar um arquivo aberto, de modo a impedir sua alteração?

de uma estudada na classe File

http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html

Eu não encontrei um método para testar isso, mas uma solução possível (acredito eu), que primeiro você pode testar se o arquivo pode ser alterado File.canWrite(), caso afirmativo, você abre ele e deixa ele como readOnly File.setReadOnly, se for fazer alguma alteração deixa em Buffer (não no arquivo, pois ele está readOnly), e na hora de salvar, tira o readOnly e salva no arquivo as alterações. Nesse tempo que um usuário estiver editando o arquivo (ele está readOnly), o outro usuário nao irá conseguir, pois o canWrite irá retornar false.

Acredito que isso seja possível

Não manjo muito de IO, mas vou dar um pitaco:
Se é seu próprio programa que possivelmente abriu o arquivo, acho dá para usar um bloco syncronized(arquivoEmQuestao){…}.