如何检查文件夹中是否存在文件?

时间:2011-09-12 08:41:48

标签: c# xml file fileinfo

我需要检查文件夹中是否存在xml文件。

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

这是检查文件夹中是否存在文件的最佳方法。

我需要检查一个xml文件是否存在

9 个答案:

答案 0 :(得分:169)

这是一种查看该文件夹中是否存在任何XML文件的方法,是的。

要检查特定文件,请使用File.Exists(path),这将返回一个布尔值,表示path处的文件存在。

答案 1 :(得分:30)

使用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.");

答案 2 :(得分:28)

要检查文件是否存在,您可以使用

System.IO.File.Exists(path)

答案 3 :(得分:8)

这样我们就可以检查特定文件夹中的现有文件:

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

答案 4 :(得分:7)

由于没有人说如何检查文件是否存在并获取可执行文件所在的当前文件夹(工作目录)

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

@"\YourFile.txt"不区分大小写,这意味着@"\YoUrFiLe.txt"@"\YourFile.TXT"@"\yOuRfILE.tXt"之类的内容解释相同。

答案 5 :(得分:2)

可以这样改进:

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

答案 6 :(得分:1)

if (File.Exists(localUploadDirectory + "/" + fileName))
{                        
    `Your code here`
}

答案 7 :(得分:0)

这对我有所帮助:

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

答案 8 :(得分:0)

  

这让我惊呆了。

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