Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- **name@mail.ru**
- imay@gmail.com
- asdas@gmail.com
- **name123@mail.ru**
- Host@mail.ru
- imay@gmail.com
- **name@mail.ru**
- mesdm@gmail.com
- grgrg@mail.ru
- **name123@mail.ru**
- asfe@gmail.com
- cvdd@gmail.com
- var lines = File.ReadAllLines("путь к первому файлу").Distinct();
- File.Copy(@"C:\директория 1-го файла.тхт", @"C:тхт, в который нужно сохранить измененный файл 1.тхт", true);
- GC.Collect(); //типа сборщик мусора..
- string firstFilePath = "..."; // Путь к "первому" файлу
- string outFilePath = "..."; // Путь к выходному файлу с уникальными строками
- string baseDirPath = "..."; // Путь к папке "База"
- string baseFilesPattern = "..."; // Шаблон файлов в папке "База"
- // Заносим все строки из "первого" файла в HashSet
- var set = new HashSet<string>(File.ReadLines(firstFilePath));
- // Итератор по всем строкам из "Базы",
- // обратите внимание - он "ленивый" и будет загружать в память только
- // по одной строке за раз, материализовать его не нужно(!)
- // и использовать именно File.ReadLines() (!), а не File.ReadAllLines()
- var baseStrings = Directory.EnumerateFiles(baseDirPath, baseFilesPattern)
- .SelectMany(file => File.ReadLines(file));
- // Перебираем все строки и удаляем совпадения из HashSet
- foreach (var s in baseStrings) set.Remove(s);
- // Сохраняем строки
- File.WriteAllLines(outFilePath, set);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement