Fichiers insensibles à la casse.est égale à la casse du système de fichiers

J'ai un chemin d'accès au fichier dans la forme d'une Chaîne. En Java, j'ai besoin de déterminer si un fichier existe sur le système de fichiers (et notre code doit être multi-plateforme, car il fonctionne sur Windows, Linux et OS X).

Le problème est que le cas du fichier chemin d'accès et le fichier lui-même peut ne pas correspondre, même si elles représentent le même fichier (sans doute c'est parce qu'ils sont originaires de Windows et l'écart n'a pas été remarqué).

Par exemple, j'ai un chemin de fichier "ABC.txt". Un fichier appelé "abc.txt" existe sur le système de fichiers. Le code suivant sera de retour vrai sur Windows mais faux sur Linux:

new File("ABC.txt").exists();

Quelle est la meilleure façon de déterminer si le fichier existe, et si elle existe pour le retour d'un handle du fichier sur le système de fichiers?

OriginalL'auteur jwaddell | 2009-08-19