在asp.net中编辑文本文件的特定行
本文关键字:文件 文本 asp net 编辑 | 更新日期: 2023-09-27 18:24:51
我必须更改asp.net中文本文件的特定行。我只能更改/替换特定行中的文本吗??我在文本文件中使用了替换功能,但它正在替换整个文件中的文本。我只想替换我指定的一行。
正在等待答复。。
提前谢谢。。
文件系统通常不允许在文件中编辑其他,而不是直接逐字节覆盖如果您的文本文件每行使用相同数量的字节,那么您可以非常有效地替换一行文本,但目前这种情况相对较少。
更有可能的是,你需要采取以下选项之一:
- 使用
File.ReadAllLines
将整个文件加载到内存中,更改相关行,然后使用File.WriteAllLines
再次将其写出。这在内存方面效率很低,但编码起来非常简单。如果你的文件很小,这是一个不错的选择 - 打开输入文件和一个新的输出文件。一次从输入中读取一行文本,然后将其复制到输出中,或者写另一行。然后关闭这两个文件,删除输入文件并重命名输出文件。这一次只需要内存中的一行文本,但要复杂得多
第二个选项还有另一个好处-你可以四处乱洗文件(使用大量重命名步骤),这样在时,除非知道输出文件是完整的并且在正确的位置,否则你永远不会有丢失输入文件的可能性。但这更为复杂。