1. 程式人生 > WINDOWS開發 >C# the comparison between FileStream.Write() and StreamWriter.Write()

C# the comparison between FileStream.Write() and StreamWriter.Write()

原文:C# the comparison between FileStream.Write() and StreamWriter.Write()

技術分享圖片

 
技術分享圖片
 static void FileStreamSDemo()
        {
            DateTime dtNow = DateTime.Now;
            DateTime dtEnd = dtNow.AddSeconds(60);
            using(FileStream fs=new FileStream("FileStream.txt",FileMode.Create))
            {
                
while (DateTime.Now < dtEnd) { string msg = $"Now is {DateTime.Now.ToString("yyyyMMddHHmmssffff")},Guid is {Guid.NewGuid()}"; byte[] data = Encoding.UTF8.GetBytes(msg); fs.Write(data,0,data.Length); } } }
static void StreamWriterDemo() { DateTime dtNow = DateTime.Now; DateTime dtEnd = dtNow.AddSeconds(60); using(StreamWriter writer=new StreamWriter("StreamWriter.txt",true,Encoding.UTF8)) { while(DateTime.Now<dtEnd) {
string msg = $"Now is {DateTime.Now.ToString("yyyyMMddHHmmssffff")},Guid is {Guid.NewGuid()}"; writer.WriteLine(msg); } } }
技術分享圖片


技術分享圖片

In fact,during the identical time,the streamwriter generated much more data.

In my pc,StreamWriter.txt is2.03 GB (2,187,534,336 bytes)

WhileFileStream.txt is1.86 GB (1,998,835,712 bytes),

Based on the above fact and data,The streamwriter has speed advantages.