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();
        }

 讀取string字段存放到List<string> 中,獲得電腦IP地址(多張網卡):

 public static List<string> ipList = new List<string>();
        public static void IpAddress()
        {
            try
            {
                string localIP = "";
                System.Net.IPAddress[] addressList = Dns.GetHostEntry(Dns.GetHostName()).AddressList;

                foreach (IPAddress ip in addressList)
                {
                    if (ip.AddressFamily == AddressFamily.InterNetwork)
                    {
                        localIP = ip.ToString();
                        ipList.Add(localIP);
                    }
                }
            }
            catch (Exception)
            {
                ipList.Add("0.0.0.0");
            }
}

 public static void GetIPAddress()
        {
            IpAddress();
            for (int i = 0; i < ipList.Count; i++)
            {
                Console.WriteLine(ipList[i]);
            }
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM