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

Posted

技术标签:

【中文标题】如何检查文件夹中是不是存在文件?【英文标题】: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 文件是否存在

【问题讨论】:

您是在寻找所有 xml 文件还是具有特定名称的文件? How to quickly check if folder is empty (.NET)?的可能重复 你需要的只是Directory.EnumerateFileSystemEntries(ProcessingDirectory, "*.xml").Any(),这是你能得到的最快的。 How to find out if a file exists in C# / .NET?的可能重复 【参考方案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;
             

【讨论】:

以上是关于如何检查文件夹中是不是存在文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查批处理文件中是不是存在文件[重复]

Shell如何检查文件中的一行中是不是存在模式

如何检查文件是不是存在于android设备的特定文件夹中

如何在python中以自动方式检查文件夹中是不是存在特定文件

如何检查Go中是不是存在文件?

从FTP下载时如何检查文件是不是存在