Объединение файлов в каталоге с помощью Linq to Objects - PullRequest
2 голосов
/ 16 июля 2011

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

1 Ответ

9 голосов
/ 16 июля 2011

Вы можете сделать это в .Net 4 относительно легко:

File.WriteAllLines(
    outputFileName,
    Directory.EnumerateFiles(inputDirectory, @"*.txt")
             .SelectMany(file => File.ReadLines(file)));

Вы можете извлечь это в метод:

public static void ConcatenateFiles(
    string outputFileName, IEnumerable<string> inputFiles)
{
    File.WriteAllLines(outputFileName, inputFiles.SelectMany(File.ReadLines));
}

Вызывается так:

ConcatenateFiles("test.out", Directory.EnumerateFiles(inputDirectory, @"*.txt"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...