.NET寫入文件操作


2018-01-16  22:44:35


      許多程序需要記錄運行日志,這就需要將程序運行記錄寫入本機,一般是.txt 文本或.csv 文件。具體操作如下:

一、C#

 1 //加入外部輸入輸出的命名空間 2 using System.IO; 

 1   static void Main(string[] args)
 2         {
 3             WriteLog("白日依山盡");
 4             WriteLog("黃河入海流");
 5             WriteLog("欲窮千里目");
 6             WriteLog("更上一層樓");
 7             Console.ReadKey();
 8         }
 9         static void WriteLog(string workinfo)
10         {
11             //保存運行日志到程序運行文件夾下,並以當前日期命名
12             string strpath = Directory.GetCurrentDirectory()+ @"\worklog\" + DateTime.Now.ToString("yyyyMMdd") + ".csv";
13             //獲取strpath的文件夾名稱,並判斷不存在是創建文件夾
14             if (!Directory.Exists(Path.GetDirectoryName(strpath)))
15             {
16                 Directory.CreateDirectory(Path.GetDirectoryName(strpath));
17             }
18             //判斷文件不存在時,創建該文件
19             if (!File.Exists(strpath))
20             {
21                 File.Create(strpath).Close();//創建完畢后,需關閉該IO通道,以使后續讀寫可繼續進行
22             }
23             //使用數據流寫入StreamWriter,true表示可持續寫入,Encoding.Default前系統設置的默認字符集編碼方式
24             StreamWriter sw = new StreamWriter(strpath, true, Encoding.Default);
25             sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss " + workinfo));
26             //銷毀數據數據流通道
27             sw.Dispose();
28             //
29             Console.WriteLine("寫入成功");
30         }

二、VB.NET

  1 Imports System.IO '外部輸出的命名空間 2 Imports System.Text '文本編碼格式的命名空間 

 1 Sub Main()
 2         WriteLog("白日依山盡")
 3         WriteLog("黃河入海流")
 4         WriteLog("欲窮千里目")
 5         WriteLog("更上一層樓")
 6         Console.ReadKey()
 7     End Sub
 8     Sub WriteLog(ByVal workinfo As String)
 9         '保存運行日志到程序運行文件夾下,並以當前日期命名
10         Dim strpath As String = Directory.GetCurrentDirectory() & "\worklog\" & Now.ToString("yyyyMMdd") & ".csv"
11         '獲取strpath的文件夾名稱,並判斷不存在是創建文件夾
12         If (Not Directory.Exists(Path.GetDirectoryName(strpath))) Then
13             Directory.CreateDirectory(Path.GetDirectoryName(strpath))
14         End If
15         '判斷文件不存在時,創建該文件
16         If (Not File.Exists(strpath)) Then
17             File.Create(strpath).Close() '創建完畢后,需關閉該IO通道,以使后續讀寫可繼續進行
18         End If
19         '使用數據流寫入StreamWriter,true表示可持續寫入,Encoding.Default前系統設置的默認字符集編碼方式
20         Dim sw As StreamWriter = New StreamWriter(strpath, True, Encoding.Default)
21         sw.WriteLine(Now.ToString("yyyy-MM--dd HH:mm:ss ") & workinfo)
22         '銷毀數據數據流通道
23         sw.Dispose()
24         Console.WriteLine("寫入成功")
25     End Sub

 

三、效果如下:

 


免責聲明!

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



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