Как проверить, существует ли файл в папке?
Мне нужно проверить, существует ли xml-файл в папке.
DirectoryInfo di = new DirectoryInfo(ProcessingDirectory);
FileInfo[] TXTFiles = di.GetFiles("*.xml");
if (TXTFiles.Length == 0)
{
log.Info("no files present")
}
Это лучший способ проверить файл существует в папке.
Мне нужно проверить только XML-файл присутствует
8 ответов:
Это способ увидеть, если какие-либо XML-файлы существуют в этой папке, да.
для проверки конкретных файлов использовать
File.Exists(path), который вернет логическое значение, указывающее, что файл в .
использовать
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.");
таким образом, мы можем проверить наличие существующего файла в определенной папке:
string curFile = @"c:\temp\test.txt"; //Your path Console.WriteLine(File.Exists(curFile) ? "File exists." : "File does not exist.");
так как никто не сказал, Как проверить, если файл существует и получить текущую папку исполняемый файл находится в (рабочий каталог):
if (File.Exists(Directory.GetCurrentDirectory() + @"\YourFile.txt")) { //do stuff }The
@"\YourFile.txt"не чувствителен к регистру, что означает такие вещи, как@"\YoUrFiLe.txt"и@"\YourFile.TXT"или@"\yOuRfILE.tXt"интерпретируется то же самое.
его можно улучшить так:
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");
Comments