日期:2014-05-16 浏览次数:20433 次
其实这里最关键的一个方法是 StreamReader类里的 ReadLine();这个方法可以逐行读取txt流里面的数据。写了个简单的demo,已经加上了详细的注释说明。
ok,好了,不废话,下面直接上代码
public void InputData() { DataTable dt = new DataTable(); string strFilePath = "e:\\ouput1.txt"; FileStream fs = new FileStream(strFilePath, FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(fs, System.Text.Encoding.UTF8);//utf-8格式,下面的是gb2312格式 ///StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default); //SqlConnection conn = DatabaseConnection.GetConnected(); //conn.Open(); string strLine0 = sr.ReadLine(); ///当行内需要重新分散元素的是时候,我注释掉以下代码,demo里,用“,”区分行元素,然后,用ado.net插入数据库就可以了 /* String strLine1 = sr.ReadLine(); String strLine2 = sr.ReadLine();*/ while (strLine0 != null) { string[] strArray = new string[4]; strArray = strLine0.Split(','); DataRow dr = dt.NewRow(); dr[0] = strArray[0]; dr[1] = strArray[1]; dr[2] = strArray[2]; dr[3] = strArray[3]; //string sql = "insert into 你的表名 values('" + dr[0] + "','" + dr[1] + "','" + dr[2] + "','" + dr[3] + "')"; //SqlCommand cmd = new SqlCommand(sql, conn); //cmd.ExecuteNonQuery(); dt.Rows.Add(dr); strLine0 = sr.ReadLine(); } sr.Close(); fs.Close(); //conn.Close(); }