我有這個職位類似的要求... Populate Gridview at runtime using textfile的StreamReader與製表符分隔文本文件
,我想讀的文本文件StreamReader
,並使用該文件中的數據DataTable
,但是我我不知道如何通過選項卡實現split()
。
請問有人能指出我正確的方向嗎?
我有這個職位類似的要求... Populate Gridview at runtime using textfile的StreamReader與製表符分隔文本文件
,我想讀的文本文件StreamReader
,並使用該文件中的數據DataTable
,但是我我不知道如何通過選項卡實現split()
。
請問有人能指出我正確的方向嗎?
你可以試試這個:
DataTable table = new DataTable();
table.Columns.Add("col1");
table.Columns.Add("col2");
table.Columns.Add("col3");
var lines = File.ReadAllLines(@"Data.txt").ToList();
lines.ForEach(line => table.Rows.Add(line.Split((char)9)));
我推測行是由換行符分隔的(如果是這種情況,可以使用ReadAllLines
方法)。數字9是水平製表符的ASCII值,用於分割線條。 ForEach
是一種可用於通用列表的方法,它在那裏而不是foreach
循環。
如果只有製表符,你可以使用斯普利特(「\ t」),但如果製表符空格,你可能想使用regular expressions
在C#製表轉義字符是\t
,所以讀取文件和分割選項卡上每一行我會使用
var path = "path to file";
using (StreamReader sr = new StreamReader(path))
{
while (sr.Peek() >= 0)
{
//Reads the line, splits on tab and adds the components to the table
table.Rows.Add(sr.ReadLine().Split('\t'));
}
}
sr.ReadLine()。分割(「\ t」的) ;用於vb不知道這一點。 – Neha 2013-02-19 09:50:39
字段由製表符分隔,行如何分隔?換行符? – 2013-02-19 09:53:19
新行是新行。這是一個相當簡單和標準的edi文件格式,我正在嘗試讀取並顯示給最終用戶。 – Stuart 2013-02-19 10:03:02