zoukankan      html  css  js  c++  java
  • 规格文本转化成表[原创]

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

     1public 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    }
  • 相关阅读:
    Wannafly Camp 2020 Day 2D 卡拉巴什的字符串
    [POI2010] GIL-Guilds
    Wannafly Camp 2020 Day 1D 生成树
    [AH2017/HNOI2017] 影魔
    机器学习之决策树
    终端多窗口分屏Terminator
    python的面对对象
    安装 Google BBR 加速VPS网络
    DNSLOG在渗透测试中的玩法儿
    如何利用GitHub搜索敏感信息
  • 原文地址:https://www.cnblogs.com/winnxm/p/1059175.html
Copyright © 2011-2022 走看看