我需要从包含特定字符的目录中获取文件名称:
以下代码将返回任何扩展名为.csv的文件.问题是还有其他csv文件我需要单独留下或不能得到.
以下代码将返回任何扩展名为.csv的文件.问题是还有其他csv文件我需要单独留下或不能得到.
Dim FileLocation As DirectoryInfo = _ New DirectoryInfo("C:\Folder\Subfolder\Data\Input\") Dim fi As FileInfo() = FileLocation.GetFiles("*.csv")
我想获取一个包含单词data的文件,而不是获取任何csv文件,因此任何文件名都包含单词data.示例:* my_data_file.csv *
如何使用上面的代码执行此操作?
解决方法
您可以使用要考虑的字符串更新过滤器(将自动处理上限):
Dim fi As FileInfo() = FileLocation.GetFiles("*data*.csv")
无论如何,请记住这种过滤不是“太准确”.例如,上面的代码也将考虑任何文件(包括“数据”),其扩展名包括csv(例如,* .csva,* .csvb等).如果你想要一个100%可靠的方法,你应该更好地设置一个循环并“手动”执行过滤;循环非常快,你甚至不会注意到差异.
循环示例:
Dim fi As List(Of FileInfo) = New List(Of FileInfo) For Each File In FileLocation.GetFiles() If (File IsNot nothing) Then If (Path.GetExtension(File.ToString.ToLower) = ".csv") Then If (File.ToString.ToLower.Contains("data")) Then fi.Add(File) End If End If Next
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。