【问题标题】:How to check if a file exists in a folder?如何检查文件夹中是否存在文件?
【发布时间】:2011-11-15 03:53:08
【问题描述】:

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

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

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

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

【问题讨论】:

标签: c# xml file fileinfo


【解决方案1】:

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

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

【讨论】:

  • 您也可以使用 FileInfo.Exists 属性
  • Noe 如果用户没有读取文件的权限,此答案将返回 false。因此,它不仅仅是检查文件是否存在于文件夹中。您可能想要使用 DirectoryInfo.GetFiles() 并枚举结果。
【解决方案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.");

【讨论】:

  • DirectoryInfo 和 FileInfo 类很棒。它们提供了许多处理这些文件系统结构的方法,在绑定到 UI 时有用的属性中公开信息,并且可序列化,因此您可以在配置中使用它们。
【解决方案3】:

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

System.IO.File.Exists(path)

【讨论】:

    【解决方案4】:

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

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

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

    【讨论】:

      【解决方案5】:

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

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

      【讨论】:

        【解决方案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】:
          if (File.Exists(localUploadDirectory + "/" + fileName))
          {                        
              `Your code here`
          }
          

          【讨论】:

          • 虽然这段代码可能(或可能不会)解决问题,但一个好的答案总是需要解释这段代码的作用。另请注意,您的答案似乎没有添加任何新内容。您还应该适当地格式化您的代码示例,并解释 localUploadDirectory 是什么,或者您的答案为什么提到它。
          【解决方案8】:

          这唤醒了我。

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

          【讨论】:

            猜你喜欢
            • 2010-12-10
            • 1970-01-01
            • 2012-02-05
            • 2013-03-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-08-24
            • 2011-10-09
            相关资源
            最近更新 更多