C# 在asp.net中编辑文本文件的特定行?

C# 在asp.net中编辑文本文件的特定行?,c#,asp.net,C#,Asp.net,我必须更改asp.net中文本文件的特定行。 我可以只更改/替换特定行中的文本吗?? 我在文本文件中使用了replace函数,但它正在替换整个文件中的文本。 我只想替换我指定的一行 等待答复 提前谢谢 文件系统通常不允许您在文件中进行编辑,除非直接逐字节覆盖。如果您的文本文件每行使用相同数量的字节,那么您可以非常高效地替换一行文本,但这在当今是一种相对罕见的情况 您更有可能需要选择以下选项之一: 使用file.ReadAllLines将整个文件加载到内存中,更改相关行,然后使用file.writ

我必须更改asp.net中文本文件的特定行。 我可以只更改/替换特定行中的文本吗?? 我在文本文件中使用了replace函数,但它正在替换整个文件中的文本。 我只想替换我指定的一行

等待答复


提前谢谢

文件系统通常不允许您在文件中进行编辑,除非直接逐字节覆盖。如果您的文本文件每行使用相同数量的字节,那么您可以非常高效地替换一行文本,但这在当今是一种相对罕见的情况

您更有可能需要选择以下选项之一:

使用file.ReadAllLines将整个文件加载到内存中,更改相关行,然后使用file.writeallines再次写入。这在内存方面效率很低,但编码非常简单。如果您的文件很小,这是一个很好的选择。 打开输入文件和新的输出文件。从输入中一次读取一行文本,或者将其复制到输出,或者改为写入另一行。然后关闭两个文件,删除输入文件并重命名输出文件。这一次只需要内存中的一行文本,但它要复杂得多。
第二个选项还有另一个好处-您可以使用大量重命名步骤来洗牌文件,以便在任何时候都不会丢失输入文件,除非已知输出文件完整且位于正确的位置。但这更复杂。

需要更多关于您尝试过的内容的信息,确定更改哪一行的编程规则是什么。此外,StackOverflow是帮助您解决问题,而不是为您编写代码;尽管有些人会这样做,但如果您表明已尝试先解决问题。是的,您可以使用StreamReader.ReadLine逐行读取文件,然后在该行中搜索需要替换的文本。