Bonjour,
Je me suis mis récemment à Java, et je traine un problème lorsque que veux verrouiller un fichier.
j'ai essayé d'une part de renommer sans verrouiller le fichier, ça passe :
Cool pas de problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 File fl = new File("try.txt"); fl.renameTo(new File("try_.txt"));
J'ai ensuite voulu faire ça proprement ( en bon développeur que je suis) et donc de créer un verrou sur le fichier histoire d'avoir la conscience tranquille.
Avec Un "RandomAccessFile" "FileChannel" :
La console affiche tout le temps "K.O";
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 File fl = new File("try.txt"); RandomAccessFile RAFile = new RandomAccessFile(fl, "rw"); FileChannel fileChannel = RAFile.getChannel(); FileLock fileLock = fileChannel.tryLock(); if(fileLock != null){ if( fl.renameTo(new File("try_.txt")) ) System.out.println("OK"); else System.out.println("K.O"); }
Les chemins d'accès son correctes, par ailleurs aucune exception n'est levée.
Quelqu'un saurait m'aider ?
Partager