有时需将特定格式的文本文件转化为内存表后,进行查询等操作很方便,就写了个转化的类:
文本文件格式如:|name|sex|age|...|
如果文件内容都是同种类似格式的话,则可以采用如下方法:1public static DataTable ConvertToDataTable (string FilePath, string TableName,string[] FieldsInArray)
2![]()
{
3DataTable dt = new DataTable(TableName);
4
5for (int i = 0; i < FieldsInArray.Length; i++)
6![]()
{
7dt.Columns.Add(new DataColumn(FieldsInArray[i], typeof(string)));
8}
9
10StreamReader sr = null;
11try
12![]()
{
13FileStream fs = File.Open(FilePath, FileMode.Open, FileAccess.Read);
14
15sr = new StreamReader(fs, Encoding.Default);
16
17string strRead;
18
19while (true)
20![]()
{
21strRead = sr.ReadLine();
22
23if (string.IsNullOrEmpty(strRead))
24break;
25string[] aryVale = strRead.Split('|');
26
27DataRow dr = dt.NewRow();
28for (int k = 0; k < FieldsInArray.Length; k++)
29![]()
{
30dr[FieldsInArray[k]] = aryVale[k];
31}
32dt.Rows.Add(dr);
33
34}
35}
36catch (Exception e)
37![]()
{
38log.Error("------------------------------------------------------------------------------------------------");
39log.Error("Load Text File[" + FilePath + "] Error: ", e);
40log.Error("------------------------------------------------------------------------------------------------");
41}
42finally
43![]()
{
44sr.Close();
45}
46![]()
47return dt;
48}
49}
转载于:https://www.cnblogs.com/winnxm/archive/2008/01/30/1059175.html
本文介绍了一种将固定格式的文本文件转换为内存表的方法,通过C#代码实现,便于后续的数据查询和处理。



DataTable dt 
}
}
328

被折叠的 条评论
为什么被折叠?



