我的代码可以正常读取csv文件,如下所示:
var lines = File.ReadAllLines("filename.csv").Select(a => a.Split(',')).ToList();
我想重写此语句,以便通过前缀读取文件夹中的所有文件。
var lines = Directory.GetFiles("prefix*.csv").Select(a => a.Split(',')).ToList();
由于路径名中的*字符无效,此代码无效。我知道我可以用fileinfo做类似的事情。
答案 0 :(得分:3)
Directory.GetFiles()
只获取文件名,但不读取行。
尝试类似
的内容var lines = Directory.GetFiles(@"c:\", "prefix*.csv").Select(
fn => File.ReadAllLines(fn).Select(a => a.Split(',')).ToList()).ToList();
答案 1 :(得分:1)
模式匹配必须使用第二个参数,如下所示:
var files = Directory.GetFiles(directory, "prefix*.csv");