J'ai rencontré un bug sur lequel je n'arrive pas à trouver de logique. J'ai cet objet File, qui est créé comme ceci:
File file = new File("utilities/data/someTextFile.txt");
Je fais alors file.exists()
, et ça revient false
(!?). Si le fichier n'est pas trouvé, je me connecte f.getAbsolutePath()
à un fichier. Quand je regarde le chemin, cela semble correct. Je peux copier-coller le chemin complet dans la fenêtre «Exécuter» de Windows et le fichier s'ouvre correctement.
Le fichier existe à tout moment et n'est ni supprimé ni modifié lors de l'exécution de mon application. Il est situé à la machine locale.
Cela ne semble se produire que dans certaines situations. Je peux reproduire le défaut à tout moment, mais je suis sûr que le chemin de l'objet fichier n'est pas modifié par les actions que je fais pour reproduire le défaut.
Qu'est-ce qui peut provoquer un file.exists()
retour faux? Cela a-t-il quelque chose à voir avec les autorisations ou les verrous de fichiers, etc.?