C # - Использование File.WriteAllLines - PullRequest
4 голосов
/ 19 июня 2011

Перезапишет ли приведенный ниже метод выходной файл (process.txt)?

private static void CompareOrig()
{

    File.WriteAllLines("process.txt",
    File.ReadAllLines("process2.txt").Except(File.ReadAllLines("process.txt")));

}

Добавлена ​​информация:

Проблема в том, что когда строки читаются из process2.txt, они записываются в файл process.txt, что приводит к перезаписи всех существующих данных в этом файле. Вместо этого, как я могу добавить вывод в process.txt? например, * +1008 *

File.AppendAllText("process.txt")

Ответы [ 2 ]

4 голосов
/ 19 июня 2011

Будет ли указанный ниже метод перезаписывать выходной файл (process.txt)?

Да

Если так, как этого можно избежать?

Используйте другое имя файла для записи.

Если вы имели в виду «будет ли он перезаписан до того, как будет полностью прочитан», то ответ «Нет», и у вас нет проблем.

Но разделение этого на одну или две переменные сделало бы его намного более читабельным. Если это заставляет вас сомневаться, то это сделает и читателя. Снова и снова.

0 голосов
/ 14 марта 2017

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

File.WriteLine("Text");

вместо

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