在文本文件中进行的更改(以编程方式)不会反映出来

时间:2013-07-09 17:38:24

标签: c#-3.0

我有以下代码。当我打开文件时在文本文件中进行更改时,我看不到任何更改,实际上文本文件的文本已被删除。

private void btnGo_Click(object sender, EventArgs e)
    {
        string content;

        string newword = "Tanu";
        string oldword = "Sunrise";
        System.IO.StreamReader file =
           new System.IO.StreamReader(txtFilePath.Text);

        while ((content = file.ReadLine()) != null)
        {
            if (content == "Project name = Sunrise ")
            {
                string newtxt = Regex.Replace(content, oldword, newword);
                content = content.Replace(content, newtxt);
            }
           // counter++;
        }

        file.Close();

        using (StreamWriter writer = new StreamWriter(txtFilePath.Text))
        {
            writer.Write(content);

            writer.Close();

1 个答案:

答案 0 :(得分:0)

错误发生在你的while循环中。

while ((content = file.ReadLine()) != null)

在再次执行时用newtxt替换内容并尝试读取文件中的下一行,将内容设置为null,因此当你退出while循环时,你的内容为空。

尝试将文件内容读入另一个变量或使用say newtxt本身写入文件。