2013-07-24 104 views
-1

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

等待答复..

在此先感谢..

+0

需要有关您所尝试的更多信息,确定要更改哪条生产线的编程规则是什么。此外,StackOverflow可以帮助您解决问题,而不是为您编写代码;尽管如果你表明你已经试图首先解决问题,那么有些人会这样做。 –

+0

是的,您可以使用StreamReader.ReadLine()逐行读取文件,然后在该行中搜索需要替换的文本。 – andrewb

回答

6

文件系统通常不允许你不是直接覆盖逐字节文件中编辑其他如果您的文本文件对每一行都使用相同的字节数,那么您可以非常有效地替换一行文本 - 但这是目前比较罕见的情况。

它更可能是你需要采取的其中一个选项:

  • 加载整个文件到使用File.ReadAllLines内存,更改相关行,然后用File.WriteAllLines再次写出来。这在内存方面效率很低,但代码非常简单。如果你的文件很小,这是一个不错的选择。
  • 打开输入文件和一个新的输出文件。从输入中一次读取一行文本,并将其复制到输出或写入不同的行。然后关闭这两个文件,删除输入文件并重命名输出文件。这只需要一次在内存中的一行文本,但它相当繁琐。

第二个选项还有另一个好处 - 你可以围绕洗牌文件(使用大量的重命名步骤),因此在没有点你曾经有丢失输入文件的可能性,除非输出文件被称为在完整和正确的地方。尽管如此,这更加复杂。

相关问题