簡體   English   中英

覆蓋 c# 中的文本

[英]Overwrite text in c#

我想用新文本覆蓋文本文件中的文本,但是當我在 c# 中使用 WriteLine 或 File.WriteAllLines 時,它會刪除現有文本並改寫新文本。

private void Key_Press(object sender, KeyPressEventArgs e)
{

    FileStream fs = new FileStream(@"C:\Users\my\Desktop\test.txt", FileMode.Append, FileAccess.Write, FileShare.Write);
    StreamWriter sw = new StreamWriter(fs);

    if (e.KeyChar == (char)Keys.E)
    {
        sw.WriteLine(@"C:\Users\my\Desktop\test.txt", "E");
    }

    else if (e.KeyChar == (char)Keys.A)
    {
        sw.WriteLine(@"C:\Users\my\Desktop\test.txt", "A");
        
    }
}

在這里的示例中,當我按下“E”時,它會將“E”寫入文本文件,但是當我按下“A”時,它會刪除“E”並且只變成“A”。 它應該是“EA”。

您實際上想要Append ,而不是覆蓋文本:

private void Key_Press(object sender, KeyPressEventArgs e) {
  if (e.KeyChar == 'A' || e.KeyChar == 'E')
    File.AppendAllText((@"C:\Users\my\Desktop\test.txt", e.KeyChar.ToString());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM