2009-02-12 5 views
10

Existe-t-il une fonction standard pour vérifier qu'un répertoire spécifié est valide?C# vérifie qu'une destination de fichier est valide

La raison pour laquelle je demande est que je reçois une chaîne de répertoire absolu et le nom de fichier d'un utilisateur et je veux vérifier l'emplacement pour vérifier qu'il est valide.

Répondre

28

Pour un fichier

File.Exists(string) 

Pour un répertoire

Directory.Exists(string) 

REMARQUE: Si vous réutilisez un objet que vous devriez envisager d'utiliser la classe FileInfo vs la classe de fichiers statiques. Les méthodes statiques de la classe File effectuent une vérification de sécurité inutile à chaque fois.
FileInfo - DirectoryInfo-File - Directory

FileInfo fi = new FileInfo(fName); 
if (fi.Exists) 
    //Do stuff 

OU

DirectoryInfo di = new DirectoryInfo(fName); 
if (di.Exists) 
    //Do stuff 
9
if(System.IO.File.Exists(fileOrDirectoryPath)) 
{ 
    //do stuff 
} 

Cela devrait faire l'affaire!

+0

Mise à jour - Je me suis souvenu incorrectement de l'espace de noms. – xan

0

La réponse précédente est correcte en ce qui concerne la vérification de l'existence d'un fichier ou d'un répertoire donné. La classe Path contient également un certain nombre de fonctions utiles pour valider ou manipuler les différents composants d'un chemin.

2

S'il ne peut pas s'agir d'un nouveau répertoire, vous pouvez simplement vérifier s'il existe.

Il semble que vous pouvez également utiliser Path.GetInvalidPathChars pour rechercher des caractères non valides.

2

Vous pouvez également considérer qu'un chemin valide en lui-même est pas 100% valide. Si l'utilisateur fournit C: \ windows \ System32 ou un lecteur de CD, le système d'exploitation peut générer une exception lors de la tentative d'écriture.

Questions connexes