为了账号安全,请及时绑定邮箱和手机立即绑定

在C#中编辑文本文件的特定行

在C#中编辑文本文件的特定行

C#
泛舟湖上清波郎朗 2019-12-03 10:42:37
我有两个文本文件,Source.txt和Target.txt。源将永远不会被修改并且包含N行文本。因此,我想删除Target.txt中的特定文本行,并用Source.txt中的特定文本行替换,我知道我需要多少行,实际上是第2行,两个文件。我还没有这样的东西:string line = string.Empty;int line_number = 1;int line_to_edit = 2;using (StreamReader reader = new StreamReader(@"C:\source.xml")){    using (StreamWriter writer = new StreamWriter(@"C:\target.xml"))    {        while ((line = reader.ReadLine()) != null)        {            if (line_number == line_to_edit)            {                writer.WriteLine(line);            }             line_number++;        }    }}但是,当我打开Writer时,目标文件将被擦除,并写入行,但是当打开时,目标文件仅包含复制的行,其余的行将丢失。我能做什么?
查看完整描述

3 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

当您创建StreamWriter它总是从头开始创建一个文件,你必须创建第三个文件,并从目标复制和替代你需要什么,然后替换旧的。但正如我看到的那样,您需要的是XML操作,您可能希望XmlDocument使用Xpath 来使用和修改文件。


查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 873 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信