2015-05-20 59 views
-2

如何使用Stream對象將文本寫入文件?它是要求字節...使用流寫入文本

下面是代碼:

public override void UpdateLog(string emailId) 
    { 
     using(Stream s = File.OpenWrite(logFile)) 
      s.Write(emailId); 
    } 

EMAILID應寫在文件中的文本行。另外,我是否需要包含\ n才能將文本寫入新行?

+3

快速[谷歌](https://msdn.microsoft.com/en-us/library/6ka1wd3w%28v = vs.110%29.aspx)搜索將完成這項工作...... – Eminem

+0

查看StreamWriter類 –

+1

或者更好的是,如果沒有令人信服的需要流式傳輸數據,則根本不要使用流(因爲沒有這裏),只是使用更恰當的'文件'方法* *完全*你想要什麼。 – Servy

回答

1

你應該使用這樣的StreamWriter類,而不是追加:

public override void UpdateLog(string emailId) 
{ 
    using (StreamWriter writer = File.AppendText(path)) 
    { 
     writer.writeLine(emailId); 
    } 
} 

路徑應該是一個字符串的文件路徑。

0

您應該使用StreamWriter類。並做類似如下的內容:

using (StreamWriter writer = 
     new StreamWriter("somefile.txt", true)) 
    { 
     writer.Write("hello"); 
     writer.WriteLine("hello again"); 
     writer.WriteLine("and again"); 
    } 
+0

它會追加到文件而不是在被調用時覆蓋文件嗎? – bordeo

+0

@bordeo有一個簡單的方法來找出答案。 – Servy

+0

我在說因爲我在使用Streamwriter,它覆蓋了文件而不是追加。我如何使用File方法來做到這一點? – bordeo

0

如果你想保持你當前的代碼,你可以像這樣的擴展它:

public override void UpdateLog(string emailId) 
{ 
    using (Stream s = File.OpenWrite(logFile)) 
    { 
     using (StreamWriter writer = new StreamWriter(s)) 
     { 
      writer.Write(emailId); 
     } 
    } 
}