Как проверить, существует ли файл в папке?

Мне нужно проверить, существует ли файл xml в папке.

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

Это лучший способ проверить файл в папке.

Мне нужно проверить только файл xml присутствует

Ответ 1

Это способ увидеть, существуют ли в этой папке любые XML файлы, да.

Для проверки определенных файлов используйте File.Exists(path), который вернет логическое значение, указывающее, что файл существует в path.

Ответ 2

Используйте FileInfo.Exists Свойство:

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);

или File.Exists Метод:

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

Ответ 3

Чтобы проверить файл существует или нет, вы можете использовать

System.IO.File.Exists(path)

Ответ 4

Таким образом, мы можем проверить существующий файл в определенной папке:

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

Ответ 5

Поскольку никто не сказал, как проверить, существует ли файл И получить текущую папку, в которой находится исполняемый файл (Рабочий каталог):

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

@"\YourFile.txt" не чувствителен к регистру, это означает, что такие вещи, как @"\YourFile.txt" и @"\YourFile.txt" или @"\YourFile.txt", интерпретируются одинаково.

Ответ 6

Его можно улучшить так:

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

В качестве альтернативы:

log.Info(Directory.EnumerateFileSystemEntries(ProcessingDirectory, "*.xml").ToList<string>().Count + " file(s) present");

Ответ 7

Это помогло мне:

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

Ответ 8

 String^ fileName = "C:\\Cal_Connect\\" + (this->cbo_Model_Name->Text) + "\\" + (this->txt_Certificate_No->Text) + "\\CUSTOMER RECORD\\" + "Status" + ".txt";   // สร้าง file CUSTOMER RECORD
     if (!System::IO::File::Exists(fileName))   /* ถ้าไม่มี file จะสร้าง file ใหม่ (ถ้ามีจะไม่สร้าง file) */