Поиск слова в нескольких текстовых файлах - C#
Формулировка задачи:
Здравствуйте.
Есть папка с неизвестным (постоянно меняется) количеством текстовых файлов. Необходимо взять все файлы из этой папки и найти в содержимом этих файлов определенное слово. Слова в файлах имеют разделители в виде пробелов.
Пожалуйста, подскажите что я делаю не так? Я совершенный нуб.
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.IO;
- namespace ConsoleApplication2
- {
- class Program
- {
- static void Main(string[] args)
- {
- var dir = @"D:\Programs\data\logs\of"; //Определяем директорию
- var contents = Directory.EnumerateFiles(dir, "*.txt") //Говорим с каким расширением читать файлы
- .Select(File.ReadAllLines).ToString();
- string a = contents;
- string b = "Type:15"; //Искомое слово
- char[] separators = { ' '}; //Cоздаём массив разделителей
- string[] words = a.Split(separators, StringSplitOptions.RemoveEmptyEntries);
- Console.WriteLine("Совпадений не найдено!"); //Выводим если совпадений не найдено
- foreach (string word in words)
- {
- if (b.Equals(word))
- {
- Console.WriteLine("Есть совпадение!"); //Выводим если совпадения найдены
- break;
- }
- }
- Console.ReadKey();
- }
- }
- }
Решение задачи: «Поиск слова в нескольких текстовых файлах»
textual
Листинг программы
- string sourceDirectory = @"D:\Programs\data\logs\of"; //Определяем директорию
- foreach (var txtFiles in Directory.EnumerateFiles(sourceDirectory, "*.txt"))
- {
- Console.WriteLine(txtFiles);
- string[] lines = System.IO.File.ReadAllLines(txtFiles);
- int i = 0;
- string b = "Type:15"; //Искомое слово
- foreach (string line in lines)
- {
- string[] var = lines[i].Split(default(string[]), StringSplitOptions.RemoveEmptyEntries);
- i += 1;
- foreach (string word in var)
- if (b.Equals(word))
- {
- Console.WriteLine("Есть совпадение!"); //Выводим если совпадения найдены
- break;
- }
- }
- }
- Console.ReadKey();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д