2013-04-15 93 views
1

我有一些代碼工作正常讀取一個CSV文件,如下所示:閱讀下載前綴文件錯誤

var lines = File.ReadAllLines("filename.csv").Select(a => a.Split(',')).ToList(); 

我想改寫這個聲明前綴來讀取文件夾中的所有文件。

var lines = Directory.GetFiles("prefix*.csv").Select(a => a.Split(',')).ToList(); 

由於路徑名中的無效*字符,此代碼不起作用。我知道我可以通過fileinfo做類似的事情。

回答

3

Directory.GetFiles()只是獲取文件名,它不會讀取行。

嘗試像

var lines = Directory.GetFiles(@"c:\", "prefix*.csv").Select(
      fn => File.ReadAllLines(fn).Select(a => a.Split(',')).ToList()).ToList(); 
+0

哦,那好吧,我肯定做錯了任何想法,我怎麼可能修復 –

+0

fn => File.ReadAllLines(「fn」)應該是fn => File.ReadAllLines(fn)謝謝prefect solution –

1

模式匹配,必須使用第二個參數,就像這樣:

var files = Directory.GetFiles(directory, "prefix*.csv");