C# 打开带有可变字符的文件
C# open file with variable characters
我有几个文件的名称如下:
- 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 需要文件的确切名称。但是,您可以使用 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.ReadLines
、File.ReadAllLines
和 File.ReadAllText
。通常,您 不需要 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 需要文件的确切名称。但是,您可以使用 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.ReadLines
、File.ReadAllLines
和 File.ReadAllText
。通常,您 不需要 StreamReader不再读取文本文件的内容。请注意,这些方法也需要完整的文件名。)