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

时间:2013-07-24 05:45:26

标签: c# asp.net

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

等待回复..

提前致谢..

1 个答案:

答案 0 :(得分:6)

文件系统通常不允许您在文件其他中进行编辑,而不是直接逐字节覆盖。 如果您的文本文件对每一行使用相同的字节数,那么您可以非常有效地替换一行文本 - 但这些情况下这种情况相对较少。

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

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

第二个选项有另一个好处 - 你可以随机播放文件(使用大量的重命名步骤),这样在没有点你是否有可能丢失输入文件,除非输出文件众所周知,是完整的,在正确的地方。但这更复杂。