如何替换文本文件中的单词而不覆盖整个文件

时间:2013-09-24 08:55:30

标签: c# winforms

我正在阅读文本文件并将读取的数据存储在我的表单中的文本框中。现在我希望如果用户对文本框中的数据进行任何更改,它应该反映在文本文件中。我尝试了以下的事情,但问题是用单行替换整个文件。

switch (match.Groups["key"].Value)
                        {
                            case "type": if (textBox1.Text != match.Groups["value"].Value)
                                { File.WriteAllText(path.ToString(),Regex.Replace(line, "\"" + match.Groups["value"].Value + "\"", "\"" + textBox1.Text + "\"")); }
                                break;
                        }

我也尝试过使用file.appendalltext但它也不起作用。

1 个答案:

答案 0 :(得分:4)

我觉得您可能以错误的方式执行此操作,如果您已经将文件内容处理到应用程序中,为什么不编写一个获取内存中值并在保存时再次写入文件的方法。这样您就可以处理多个更改,并且不必担心在文件中找到要更新的特定点。

显然,如果文件的内容太大而无法保存在内存中,那么你可能还有其他原因,但是你的问题没有提供那么多细节。