规格文本转化成表[原创]

有时需将特定格式的文本文件转化为内存表后,进行查询等操作很方便,就写了个转化的类:
文本文件格式如:|name|sex|age|...|
如果文件内容都是同种类似格式的话,则可以采用如下方法:

 1 public   static   DataTable ConvertToDataTable ( string  FilePath,  string  TableName, string [] FieldsInArray)
 2          {
 3            DataTable dt = new DataTable(TableName);
 4
 5            for (int i = 0; i < FieldsInArray.Length; i++)
 6            {
 7                dt.Columns.Add(new DataColumn(FieldsInArray[i], typeof(string)));
 8            }

 9
10            StreamReader sr = null;
11            try
12            {
13                FileStream fs = File.Open(FilePath, FileMode.Open, FileAccess.Read);
14
15                sr = new StreamReader(fs, Encoding.Default);
16
17                string strRead;
18
19                while (true)
20                {
21                    strRead = sr.ReadLine();
22
23                    if (string.IsNullOrEmpty(strRead))
24                        break;
25                    string[] aryVale = strRead.Split('|');
26
27                    DataRow dr = dt.NewRow();
28                    for (int k = 0; k < FieldsInArray.Length; k++)
29                    {
30                        dr[FieldsInArray[k]] = aryVale[k];
31                    }

32                    dt.Rows.Add(dr);
33
34                }

35            }

36            catch (Exception e)
37            {
38                log.Error("------------------------------------------------------------------------------------------------");
39                log.Error("Load Text File[" + FilePath + "] Error: ", e);
40                log.Error("------------------------------------------------------------------------------------------------");
41            }

42            finally
43            {
44                sr.Close();
45            }

46            
47            return dt;
48        }

49     }

你可能感兴趣的:(转化)