文件按文件名模式存在
我正在使用:
File.Exists(filepath)
我想将其替换为模式,因为文件名的第一部分发生了变化。
例如:文件可能是
01_peach.xml
02_peach.xml
03_peach.xml
如何根据某种搜索模式检查文件是否存在?
I am using:
File.Exists(filepath)
I would like to swap this out for a pattern, because the first part of the filename changes.
For example: the file could be
01_peach.xml
02_peach.xml
03_peach.xml
How can I check if the file exists based on some kind of search pattern?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用模式创建目录列表来检查文件
You can do a directory list with a pattern to check for files
如果您使用 .NET Framework 4 或更高版本,则可以使用
Directory.EnumerateFiles
这可能比使用
Directory.GetFiles
更有效,因为您可以避免迭代整个文件列表。If you're using .NET Framework 4 or above you could use
Directory.EnumerateFiles
This could be more efficient than using
Directory.GetFiles
since you avoid iterating trough the entire file list.使用 System.IO.DirectoryInfo.GetFiles()< 获取所有匹配文件的列表/a>.
另请参阅 Stack Overflow 问题:
是否有通配符扩展.NET 应用程序的选项?
如何检查文件名与某些通配符模式匹配吗?
还有许多其他...
Get a list of all matching files using System.IO.DirectoryInfo.GetFiles().
Also see Stack Overflow questions:
Is there a wildcard expansion option for .NET applications?
How do I check if a filename matches some wildcard pattern?
And many others...
对于针对特定模式的更高级搜索,可能值得使用文件通配符,它允许您像在 .gitignore 文件。
请参阅此处:.NET 中的文件通配符
这允许您添加包含项和内容。 排除您的搜索。
请参阅下面来自上述 Microsoft 源代码的示例代码片段:
For more advanced searching against a specific pattern, it might be worth using file globbing which allows you to use search patterns like you would in a .gitignore file.
See here: File globbing in .NET
This allows you to add both inclusions & exclusions to your search.
Please see below the example code snippet from the Microsoft Source above: