2010-06-03 33 views
0

我有两个文本文件。我想复制第一个文本文件中的特定部分,并将其替换为第二个文本文件的一部分。如何覆盖文本文件上的特定行

这是我读文件:

List<string> PrevEp = File.ReadAllLines(string.Format(@"{0}naruto{1}.ass", url, PrevEpNum)).ToList(); 
List<string> Ep = File.ReadAllLines(string.Format(@"{0}naruto{1}.ass", url, EpNum)).ToList(); 

PrevEp的一部分,我需要:从一开始,直到它遇到一个行,其中包括Creditw,,0000,0000,0000

我想在Ep中覆盖的部分:从一开始到一条正好是Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text的线。

我不太确定我该怎么做。你能帮我一把吗? 非常感谢。

回答

2

不要认为它是覆盖文件中的行,只是按照当前的方式进行操作,并将其全部加载到List s中,然后通过Ep循环,直到找到需要的部分,删除所有项目从您想要覆盖的列表中,并且只保留索引和Insert到该索引中的新行。

然后,您将Ep写入临时文件,删除原始Ep文件并将临时Ep文件重命名为原始名称。

在漂亮的结构中执行内存操作比在文件中操作要容易得多,并且如果出现电源故障或某些情况,您将不会用半写的编辑来破坏文件。

1

我会阅读这两个文本文件,操纵和重写它们,而不是试图替换和做各种欺骗和巫术。

0

您是否遇到了查找线条或将最终文件放在一起的问题?