如何在替换同一行上的数字时写入文本文件?

时间:2015-12-26 22:49:53

标签: c# .net winforms

这是我的计时器刻度事件间隔中的代码。

postsCounter += 1;
label2.Text = postsCounter.ToString();
label2.Visible = true;
w.WriteLine(postsCounter.ToString());

w是StreamWriter

但是每隔一分钟添加一个像

这样的新行

1 2 3 4 5

我想要那么ext写入文本文件将rpelace最后一个数字。而不是在它附近添加新行或数字,而是像计数器一样替换它。所以最后当我停止计时器并观察文本文件时,我会看到一行计算了最后一个数字。

忘了提到我在form1的顶部为StreamWrite做了实例然后在构造函数中我将一行DateTime.Now写入文本文件然后我想添加一个空/空行然后写入数字最后,当我写完数字以添加另一个空/空行然后再写一次DateTime.Now。

在form1的顶部

int postsCounter = 0;
StreamWriter w = new StreamWriter(@"e:\posts.txt");

在构造函数

label4.Text = DateTime.Now.ToString();
w.WriteLine(label4.Text.ToString());
label5.Visible = false;
label2.Visible = false;

在计时器刻度事件中

sent = true;
            postsCounter += 1;
            label2.Text = postsCounter.ToString();
            label2.Visible = true;
            w.WriteLine(postsCounter.ToString());
            if (postsCounter == 720)
            {
                label5.Text = DateTime.Now.ToString();
                label5.Visible = true;
                w.WriteLine(label5.Text.ToString());
                w.Close();
                timer1.Stop();
            }

2 个答案:

答案 0 :(得分:3)

您可以使用 System.IO.File.WriteAllText 方法替换每个tick上的文件内容。例如:

postsCounter += 1;
label2.Text = postsCounter.ToString();
label2.Visible = true;
System.IO.File.WriteAllText(filePath, postsCounter.ToString());

答案 1 :(得分:2)

您应该使用其他方法,例如File.WriteAllText,每次调用时都会替换文件内容。

File.WriteAllText("log.txt", postsCounter.ToString());