我对这篇文章有类似的要求... 在运行时使用文本文件填充 Gridview
我想在哪里读取文本文件StreamReader
并用文件中的数据填充 a DataTable
,但是我不确定如何split()
使用选项卡实现 a 。
请有人指出我正确的方向吗?
我对这篇文章有类似的要求... 在运行时使用文本文件填充 Gridview
我想在哪里读取文本文件StreamReader
并用文件中的数据填充 a DataTable
,但是我不确定如何split()
使用选项卡实现 a 。
请有人指出我正确的方向吗?
你可以试试这个:
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
循环。
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'));
}
}
如果您只有制表符,您可以使用 Split('\t'),但如果制表符是空格,您可能需要使用正则表达式