C# 打开带有可变字符的文件

C# open file with variable characters

我有几个文件的名称如下:

  1. 6327_1-SWD001-171016_1.txt
  2. 6327_1-SWD011-181016_1.txt
  3. 6327_1-SWD028-191016_1.txt

如您所见,每个文件的 SWD 值都在交换,我想知道是否有一种方法可以在不知道 SWD 值的情况下打开文件,如下所示:

6327_1-SWD???-171016_1.txt

或者 StreamReader 是否需要文件的确切名称?

StreamReader 需要文件的确切名称。但是,您可以使用 Directory.GetFiles 来查找您要查找的文件:

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

files 然后包含与您的模式匹配的所有文件名(包括路径)的数组。 Directory.GetFiles 支持 *? 通配符。

(无关旁注:查看 File.ReadLinesFile.ReadAllLinesFile.ReadAllText。通常,您 不需要 StreamReader不再读取文本文件的内容。请注意,这些方法也需要完整的文件名。)