Comment puis-je vérifier si un fichier existe en Java?

Comment puis-je vérifier si un fichier existe, avant de l'ouvrir pour la lecture en Java? (l'équivalent de Perl -e $filename).

La seule question semblable sur de SORTE traite de l'écriture du fichier et a ainsi répondu à l'aide de FileWriter ce qui n'est évidemment pas applicable ici.

Si possible, je préfèrerais un vrai appel d'API renvoie true/false contrairement à certains "Appel API pour ouvrir un fichier et de l'attraper quand elle lève une exception qui vous cochez" pas de fichier "dans le texte", mais je peux vivre avec ce dernier.

  • Tiens également à ajouter que vous souhaitez vérifier les autorisations de fichier approprié: docs.oracle.com/javase/6/docs/api/java/io/File.html java.io.Fichier a des méthodes canRead, canWrite, et canExecute pour vérifier que.
  • Il convient de noter que c'est dangereux. Le système de fichiers peut changer à tout moment, y compris à droite après votre "ce fichier existe" méthode retourne. Depuis que vous avez à gérer ce cas de toute façon, une telle méthode est d'une utilité douteuse. Si vous allez ouvrir le fichier, la bonne façon de le faire est d'ouvrir le fichier et de gérer l'exception.
  • bon point, mais c'est d'une incontestable utilité dans la non-concordance de l'environnement, qui est arrivé à être le cas, j'ai été besoin de ce en 😉
  • Êtes-vous en cours d'exécution sur un préventivement multitasked OS? Soit ça, ou c'est un spécialement conçu Java chip. Si l'ancien, vous êtes dans un tel environnement. D'autres processus peuvent modifier le système de fichiers de sous vous.
  • non pas que cela importe, mais c'est un seul thread application conçue pour un usage personnel. Les chances qu'il a consacré le fichier sera en quelque sorte créé/modifié sous elle sont incroyablement bas.
InformationsquelleAutor DVK | 2009-11-29