c# 读取text文件

直接读取text文件       话不多说  直接上代码演示

 

// 读操作
public string Read()
{
int a=0;
int tiaoshu = 20;
string strReadLine = "";
// 读取文件的源路径及其读取流
string strReadFilePath = @"F:\yxtcg\yxt\YouXingTuShuJu_V2\FileUp\优星图用户信息.txt";
// StreamReader srReadFile = new StreamReader(strReadFilePath);
StreamReader reader = new StreamReader(strReadFilePath, Encoding.GetEncoding("gb2312"));//用此格式汉字不会乱码

strReadLine = reader.ReadToEnd(); //读取所有数据
DataTable dt = JsonToDT.stringDatatable(strReadLine);//将json字符串转换成datatable
//生成一个新的datatable
//在datatable 添加字段
for (int i = 0; i < i+1; i++)
{
//每次循环20条
for (a=a+0; a < tiaoshu; a++)
{
//判断取到的openid是否为空
//如果为空 跳出循环
break;

//不为空将行添加到新的datatable 中

}
//将数据添加到sql中 代码自己写
//判断循环数是否大于长度
if(tiaoshu>dt.Rows.Count)
{
break;
}
a = tiaoshu + 1;
tiaoshu = tiaoshu + 20;
//清空datatable
}

// 关闭读取流文件
reader.Close();
Console.ReadKey();

return strReadLine;
}


附带------>json字符串转换成datatable方法

  /// <summary>
        /// 将json转换为DataTable
        /// </summary>
        /// <param name="strJson">得到的json</param>
        /// <returns></returns>
        public static DataTable stringDatatable(string strJson)
        {
            //转换json格式
            strJson = strJson.Replace(",\"", "*\"").Replace("\":", "\"#").ToString();
            //取出表名   
            var rg = new Regex(@"(?<={)[^:]+(?=:\[)", RegexOptions.IgnoreCase);
            string strName = rg.Match(strJson).Value;
            DataTable tb = null;
            //去除表名   
            strJson = strJson.Substring(strJson.IndexOf("[") + 1);
            strJson = strJson.Substring(0, strJson.IndexOf("]"));

            //获取数据   
            rg = new Regex(@"(?<={)[^}]+(?=})");
            MatchCollection mc = rg.Matches(strJson);
            for (int i = 0; i < mc.Count; i++)
            {
                string strRow = mc[i].Value;
                string[] strRows = strRow.Split('*');

                //创建表   
                if (tb == null)
                {
                    tb = new DataTable();
                    tb.TableName = strName;
                    foreach (string str in strRows)
                    {
                        var dc = new DataColumn();
                        string[] strCell = str.Split('#');

                        if (strCell[0].Substring(0, 1) == "\"")
                        {
                            int a = strCell[0].Length;
                            dc.ColumnName = strCell[0].Substring(1, a - 2);
                        }
                        else
                        {
                            dc.ColumnName = strCell[0];
                        }
                        tb.Columns.Add(dc);
                    }
                    tb.AcceptChanges();
                }

                //增加内容   
                DataRow dr = tb.NewRow();
                for (int r = 0; r < strRows.Length; r++)
                {
                    dr[r] = strRows[r].Split('#')[1].Trim().Replace("", ",").Replace("", ":").Replace("\"", "");
                }
                tb.Rows.Add(dr);
                tb.AcceptChanges();
            }

            return tb;
        }

 

posted on 2021-01-05 10:40  透明的鱼!  阅读(1273)  评论(0)    收藏  举报

导航