C#打开具有可变字符的文件
我有几个文件名为:C#打开具有可变字符的文件,c#,.net,vb.net,streamreader,C#,.net,Vb.net,Streamreader,我有几个文件名为: 6327_1-SWD001-171016_1.txt 6327_1-SWD011-181016_1.txt 6327_1-SWD028-191016_1.txt 正如您所看到的,每个文件的SWD值交换,我想知道是否有一种方法可以在不知道SWD值的情况下打开文件,如下所示: 6327_1-SWD???-171016_1.txt 或者StreamReader需要文件的确切名称吗?StreamReader需要文件的确切名称。但是,您可以使用查找要查找的文件: var files =
或者
StreamReader
需要文件的确切名称吗?StreamReader需要文件的确切名称。但是,您可以使用查找要查找的文件:
var files = Directory.GetFiles(@"C:\Some\Directory", "6327_1-SWD???-171016_1.txt"); // C#
Dim files = Directory.GetFiles("C:\Some\Directory", "6327_1-SWD???-171016_1.txt") ' VB
文件
然后包含与模式匹配的所有文件名(包括路径)的数组Directory.GetFiles
支持*
和?
通配符
(不相关的旁注:签出
File.ReadLines
、File.ReadAllLines
和File.ReadAllText
。通常,您不再需要StreamReader来读取文本文件的内容。请注意,这些方法也需要完整的文件名。)您打算打开哪一个文件?@JanneMatikainen:只有一个匹配(包含\u 171016\u
)的文件。是的,很抱歉,我的意思是在那个日期(2016年10月17日)我还有几个文件,只有SWD001更改,我的问题仍然存在。这些似乎是日志文件,您对特定日期的特定文件感兴趣,您如何知道它是哪一个?你会如何告诉代码这些信息来打开文件。这些文件是在机器中设置的,用来告诉他该做什么。这些日期是机器需要生产产品的日期(因此,我可以很容易地使用日期时间获取该信息。现在当我使用字符串中的??时,它会出现一个异常:路径中的非法字符。@Bart88:在我的机器上运行良好。您使用哪一行返回错误?现在可以了,非常感谢您的帮助:)我以为GetFiles
只适用于按目录