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

本文关键字:文件 文本 asp net 编辑 | 更新日期: 2023-09-27 18:24:51

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

正在等待答复。。

提前谢谢。。

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

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

更有可能的是,你需要采取以下选项之一:

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

第二个选项还有另一个好处-你可以四处乱洗文件(使用大量重命名步骤),这样在时,除非知道输出文件是完整的并且在正确的位置,否则你永远不会有丢失输入文件的可能性。但这更为复杂。