我必须在asp.net中更改文本文件的特定行。 我可以更改/替换特定行中的文本吗? 我在文本文件中使用了替换功能,但它正在替换整个文件中的文本。 我想只替换我指定的一行。
等待回复..
提前致谢..
答案 0 :(得分:6)
文件系统通常不允许您在文件其他中进行编辑,而不是直接逐字节覆盖。 如果您的文本文件对每一行使用相同的字节数,那么您可以非常有效地替换一行文本 - 但这些情况下这种情况相对较少。
您更有可能需要采取以下选项之一:
File.ReadAllLines
将整个文件加载到内存中,更改相关行,然后使用File.WriteAllLines
再次将其写出。这在内存方面效率低下,但编码非常简单。如果您的文件很小,那么这是一个不错的选择。第二个选项有另一个好处 - 你可以随机播放文件(使用大量的重命名步骤),这样在没有点你是否有可能丢失输入文件,除非输出文件众所周知,是完整的,在正确的地方。但这更复杂。