Verrouillage de fichier et le supprimer

Je suis en train de faire un programme en java qui surveille et la sauvegarde d'un répertoire. De temps en temps, j'ai télécharger les fichiers modifiés dans le référentiel ou le télécharger si il y a une nouvelle version de celui-ci.
Pour ce faire, je dois verrouiller le fichier de sorte que l'utilisateur ne peut pas modifier le contenu ou de le supprimer.
Actuellement, je suis en utilisant ce code pour verrouiller le fichier:

        file = new RandomAccessFile("C:\\Temp\\report.txt", "rw");

        FileChannel fileChannel = file.getChannel();
        fileLock = fileChannel.tryLock();
        if (fileLock != null) {
            System.out.println("File is locked");

            try{

            //Do what i need    

            }catch (Exception e){//Catch exception if any
                System.err.println("Error: " + e.getMessage());
            }
        }
        else{
            System.out.println("Failed");
        }
    } catch (FileNotFoundException e) {
        System.out.println("Failed");
    }finally{
        if (fileLock != null){
            fileLock.release();
        }

Cependant, si il ya une nouvelle version que j'ai supprimer l'ancien fichier et de le remplacer par un nouveau.
Mais de verrouillage de Fichier ne me permet pas de supprimer le fichier.

Dois-je déverrouiller et supprimer écrire à l'écart, dans la confiance que l'utilisateur a l'habitude d'écrire dans le fichier? Ou est-il un autre moyen de faire cela?

Cela ne fonctionne pas de toute façon. FileLocks ne pas empêcher l'utilisateur de modifier ou de supprimer le fichier. Elles ne préviennent d'autres programmes de verrouillage d'un fichier.

OriginalL'auteur user1308768 | 2012-06-24