今天我的頭給了我一項任務,他給了我一個文件夾,里面有幾十個SQL腳本文件。我的任務就是把這幾十個sql腳本依次打開,然后復制粘貼把這些腳本里面的sql語句全部弄到一個文本中,格式如下:
--@------ 該sql腳本的名字
…腳本中的sql語句…
/
--@------ 該sql腳本的名字
…腳本中的sql語句…
/
接到這個任務的時候,我想還好幾十個,如果超過一百個,還不把我給弄死。有什么簡單的方法呢?
記得以前學的時候看過C#可以讀取一個文件夾下的所有文本文件里的內容,我可不可以弄在這里呢,如果成功可以節省好多時間,下次再有相同的任務的時候我就可以很快解決。
心動不如行動,我開始向度娘來尋找答案了,擺了一會,我很快就找到了答案,我把人家的例子復制過來,給修改了修改。我建立個控制台應用程序,弄好了調試了幾下,終於成功了!
附上簡單的源代碼,我寫的沒有那么嚴謹,好多情況沒有卡條件,莫吐槽!
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace 文件流 { class Program { static void Main(string[] args) { DirectoryInfo di=new DirectoryInfo(@"C:\Documents and Settings\Administrator\桌面\報表質量腳本2013.2.16"); FileInfo[] ff=di.GetFiles("*.sql"); StringBuilder sb = new StringBuilder(); foreach(FileInfo temp in ff) { using(StreamReader sr=new StreamReader(@"C:\Documents and Settings\Administrator\桌面\報表質量腳本2013.2.16\"+temp.ToString(),Encoding.GetEncoding("GB2312"))) { sb.Append("--@------" + temp.ToString()+"\r\n"); sb.Append(sr.ReadToEnd()); sb.Append("/\r\n"); } } File.AppendAllText(@"C:\Documents and Settings\Administrator\桌面\1.txt", sb.ToString(),Encoding.GetEncoding("GB2312")); Console.ReadKey(); } } }