[英]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.