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; }
浙公网安备 33010602011771号