web-dev-qa-db-fra.com

Comment vérifier si un fichier existe dans un dossier?

Je dois vérifier si un fichier XML existe dans le dossier.

DirectoryInfo di = new DirectoryInfo(ProcessingDirectory);
FileInfo[] TXTFiles = di.GetFiles("*.xml");
if (TXTFiles.Length == 0)
{
    log.Info("no files present")
}

Est-ce la meilleure façon de vérifier qu'un fichier existe dans le dossier?.

J'ai besoin de vérifier qu'un fichier xml est présent

85
user386258

C'est un moyen de voir si des fichiers XML existent dans ce dossier, oui.

Pour rechercher des fichiers spécifiques, utilisez File.Exists(path) , qui renverra un booléen indiquant si le fichier à path existe.

162
CodeCaster

Utilisez FileInfo.Exists Property:

DirectoryInfo di = new DirectoryInfo(ProcessingDirectory);
FileInfo[] TXTFiles = di.GetFiles("*.xml");
if (TXTFiles.Length == 0)
{
    log.Info("no files present")
}
foreach (var fi in TXTFiles)
    log.Info(fi.Exists);

ou File.Exists Méthode:

string curFile = @"c:\temp\test.txt";
Console.WriteLine(File.Exists(curFile) ? "File exists." : "File does not exist.");
30
VMAtm

Pour vérifier que le fichier existe ou non, vous pouvez utiliser 

System.IO.File.Exists(path)
28
62071072SP

De cette manière, nous pouvons rechercher un fichier existant dans un dossier particulier:

 string curFile = @"c:\temp\test.txt";  //Your path
 Console.WriteLine(File.Exists(curFile) ? "File exists." : "File does not exist.");
8
Himansz

Puisque personne n'a dit comment vérifier si le fichier existe ET obtenir le dossier actuel dans lequel se trouve l'exécutable (Répertoire de travail) :

if (File.Exists(Directory.GetCurrentDirectory() + @"\YourFile.txt")) {
                //do stuff
}

Le @"\YourFile.txt" ne fait pas la différence entre les majuscules et les minuscules, ce qui signifie que des choses comme @"\YoUrFiLe.txt" et @"\YourFile.TXT" ou @"\yOuRfILE.tXt" sont interprétées de la même manière.

7
Bennett Yeo

Cela peut être amélioré comme suit:

if(Directory.EnumerateFileSystemEntries(ProcessingDirectory, "*.xml").ToList<string>().Count == 0)
    log.Info("no files present")

Alternativement:

log.Info(Directory.EnumerateFileSystemEntries(ProcessingDirectory, "*.xml").ToList<string>().Count + " file(s) present");
2
if (File.Exists(localUploadDirectory + "/" + fileName))
{                        
    `Your code here`
}
1
Bhavin

Cela m'a aidé:

bool fileExists = (System.IO.File.Exists(filePath) ? true : false);
0
Adrita Sharma

Cela m'a réveillé.

file_browse_path=C:\Users\Gunjan\Desktop\New folder\100x25Barcode.prn
  String path = @"" + file_browse_path.Text;

  if (!File.Exists(path))
             {
      MessageBox.Show("File not exits. Please enter valid path for the file.");
                return;
             }
0
radhason power