我在目录中有一组txt文件。我想将它们全部合并到一个附加的竞争中。如何使用Linq实现这一目标?
答案 0 :(得分:9)
你可以在.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"));