Ich habe eine Reihe von txt-Dateien in einem Verzeichnis. Ich möchte sie alle zu einer einzigen Datei mit angehängten Inhalten zusammenführen. Wie kann dies mit Linq erreicht werden?
Antwort
Zu viele Anzeigen?Dies ist in .Net 4 relativ einfach möglich:
File.WriteAllLines(
outputFileName,
Directory.EnumerateFiles(inputDirectory, @"*.txt")
.SelectMany(file => File.ReadLines(file)));
Sie könnten dies in eine Methode extrahieren:
public static void ConcatenateFiles(
string outputFileName, IEnumerable<string> inputFiles)
{
File.WriteAllLines(outputFileName, inputFiles.SelectMany(File.ReadLines));
}
Das heißt so:
ConcatenateFiles("test.out", Directory.EnumerateFiles(inputDirectory, @"*.txt"));