Как найти файл и заменить в нем текст C#

Эта программа позволяет рекурсивно находить файлы в иерархии каталогов, которые соответствуют одному или нескольким шаблонам. Затем вы можете заменить текст в этих файлах новым текстом.

И поиск и поиск & amp; Заменить кнопки вызывают метод SearchForFiles. Единственное различие заключается в том, что кнопка Find передает этот метод a null для строки «replace with».

Следующий код показывает метод SearchForFiles.

Метод SearchForFiles очищает результат программы ListBox. Затем он вызывает ParsePatterns, чтобы преобразовать шаблон поиска файла в массив шаблонов. Например, если шаблон представляет собой «Текстовые файлы (* .rtf, * .txt)», то ParsePatterns возвращает массив, содержащий значения * .rtf и * .txt. (Шаблон анализа использует методы string класса IndexOf, SubString и Split. Он не слишком сложный, поэтому он не является 't показан здесь. Загрузите пример и посмотрите на код, чтобы увидеть, как он работает.)

Далее SearchForFiles создает объект DirectoryInfo, представляющий каталог, имя которого вы ввели. Затем он вызывает следующий SearchDirectory метод, чтобы выполнить большую часть реальной работы.

Сначала метод обрабатывает файлы этого каталога. Для каждого шаблона файла код использует GetFiles для получения файлов, соответствующих шаблону. Для каждого файла код вызывает ProcessFile для обработки файла.

После обработки файлов код проходит через подкаталоги этого каталога, вызывающие SearchDirectory для каждого.

В следующем коде показан метод ProcessFile.

Если from_string является null, программа должна найти все файлы, не проверяя, содержат ли они целевую строку (потому что нет целевой строки). В этом случае программа просто добавляет имя файла к результату ListBox.

Если from_string не null, код считывает файл в строку и видит, содержит ли он from_string. Если файл содержит from_string, код добавляет имя файла в список. Если to_string также не null, код заменяет from_string на to_string в тексте и записывает текст обратно в файл.

Источник: http://csharphelper.com/blog/2014/12/find-files-and-replace-text-in-them-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *