搜档网
当前位置:搜档网 › c# 读取记事本txt文档到DataTable中

c# 读取记事本txt文档到DataTable中

c# 读取记事本txt文档到DataTable中
c# 读取记事本txt文档到DataTable中

c# 读取记事本txt文档到DataTable中

有时候我们仅仅需要用到简单的几个数据,没有必要在数据库中建立单独的表去存储这些数

据然后去连接数据库等等。

例如:我们的程序中只需要给几个人定时发送邮件,而这几个人的邮件地址则可以放到txt 文档中,然后读取出来即可。

从txt读取出来的数据,最好放到DataTable返回,这样主程序中就可以遍历DataTable。之前有想到把这些数据放到数组中,但是这些数据的长度不定,所以定义数组存在不确定性,

最好的选择还是DataTable,代码如下:

记事本路径:

//添加引用

using System.Data.SqlClient;

using System.IO;

//记事本路径(最好用相对路径)

public static string strNoCheckGroup = @"..\..\MailAddress\MailAddress.txt";

//ReadTXT

public static System.Data.DataTable ReadTXT(string dirTXT)

{

StreamReader objReader = new StreamReader(dirTXT);

System.Data.DataTable dt = new System.Data.DataTable();

dt.Columns.Add("DN", System.Type.GetType("System.String"));

string sLine = "";

while (sLine != null)

{

sLine = objReader.ReadLine();

if (sLine != null && !sLine.Equals(""))

{

DataRow dr = dt.NewRow();

dr["DN"] = sLine;

dt.Rows.Add(dr);

}

}

objReader.Close();

return dt;

}

//WriteTXT

public static void WriteTXT(string dirTXT, System.Data.DataTable dt)

{

FileStream fs = new FileStream(dirTXT, FileMode.Create);

StreamWriter sw = new StreamWriter(fs);

//开始写入

for (int i = 0; i < dt.Rows.Count; i++)

{

sw.Write(dt.Rows[i][0].ToString() + ""+ dt.Rows[i][1].ToString() + "" + dt.Rows[i][2].ToString() + "" + dt.Rows[i][3].ToString() + "" +

dt.Rows[i][4].ToString() + "\r\n");

}

//清空缓冲区

sw.Flush();

//关闭流

sw.Close();

fs.Close();

}

//WriteTXT

public static void WriteStringToTXT(string dirTXT, string str)

{

FileStream fs = new FileStream(dirTXT, FileMode.Create);

StreamWriter sw = new StreamWriter(fs);

//开始写入

sw.Write(str + "\r\n");

//清空缓冲区

sw.Flush();

//关闭流

sw.Close();

fs.Close();

}

相关主题