如何在不覆盖整个文件的情况下替换文本文件中的单词

本文关键字:文件 替换 情况下 文本 单词 覆盖 | 更新日期: 2023-09-27 18:32:28

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

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,但它也不起作用。

如何在不覆盖整个文件的情况下替换文本文件中的单词

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

显然,您这样做还有其他原因,例如,如果文件的内容太大而无法保存在内存中,但您的问题没有提供太多细节。