Как перезаписать определенные строки в текстовых файлах - PullRequest
0 голосов
/ 03 июня 2010

У меня есть два текстовых файла. Я хотел бы скопировать определенную часть в первый текстовый файл и заменить ее частью второго текстового файла.

Вот как я читаю файлы:

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.

Я не уверен, как мне это сделать. Не могли бы вы помочь мне? Большое спасибо.

Ответы [ 3 ]

2 голосов
/ 03 июня 2010

Не думайте об этом как о перезаписи строк в файле, просто сделайте так, как вы делаете сейчас, и загрузите все это в List с, а затем вы перебираете Ep, пока не найдете нужный раздел, удалите всеэлементы из списка, которые вы хотите перезаписать, и просто отслеживать индекс и Insert новые строки в этом индексе.

Затем вы записываете Ep во временный файл, удаляете исходный файл Ep и переименовываете временный файл Ep в исходное имя.

Гораздо проще выполнять манипуляции в памяти в хороших структурах, чемв файлах, и если у вас сбой питания или что-то в этом роде, вы не повредите файл наполовину написанными правками.

1 голос
/ 03 июня 2010

Я бы читал оба текстовых файла, манипулировал ими и переписывал их, вместо того, чтобы пытаться заменить их и совершать всякие хитрости и колдовство.

0 голосов
/ 03 июня 2010

У вас проблемы с поиском строк или сборкой окончательного файла?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...