Поиск файлов по вхождению текста

Автор работы: Пользователь скрыл имя, 15 Мая 2013 в 19:00, курсовая работа

Описание работы

Написать программу для поиска конкретного текста в файлах в определенной папке. На входе: путь к каталогу и строка текста в кавычках. На выходе: список файлов каталога, в которых встречается эта строка.

Файлы: 1 файл

rgr.docx

— 277.20 Кб (Скачать файл)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ    федеральное государственное автономное образовательное учреждение высшего профессионального образования

«Северный (Арктический) федеральный университет имени М.В. Ломоносова»

 
 

Кафедра информационных технологий

 
 

(наименование кафедры)

 
     
 

Веснина Светлана Александровна

 
 

(фамилия, имя, отчество студента)

 
     
 

Институт

МИиКТ

курс

I

группа

2

   
     
     
     
 

РАСЧЁТНО-ГРАФИЧЕСКАЯ  РАБОТА

 
     
 

По дисциплине

Информатика

 
     
 

На тему

Поиск файлов по вхождению текста

 
   

(наименование темы)

 
     
     
     
             
                 
                 
                 
         
 

Отметка о зачёте

         
             

(дата)

 
         
 

Руководитель 

           
     

(должность)

 

(подпись)

 

(и. о. фамилия)

 
               
     

(дата)

         
                 
                 
     

 

 

 

 

 

 

 

         
 

Архангельск

 
 

2013

 

ЛИСТ ДЛЯ  ЗАМЕЧАНИЙ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАДАНИЕ

Написать  программу для поиска конкретного текста в файлах в определенной папке. На входе: путь к каталогу и строка текста в кавычках. На выходе: список файлов каталога, в которых встречается эта строка.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СЛОВЕСНОЕ ОПИСАНИЕ РЕАЛИЗАЦИИ

Данная программа  создана для поиска конкретного  текста в файлах в определенной папке. Программа является консольным приложением, написана на языке C# в среде разработки Visual Studio 2012 и использует технологии .Net 2.0. Программа работает с ключами командной строки, с помощью которых задаются параметры поиска. Используется единственный класс Program. В теле программы используется функция GetFilesInDirectory, которая возвращает массив с полными путями к файлам в указанной для поиска папке. Далее производится поиск по каждому файлу в массиве и при нахождении совпадения с искомым текстом в консоль выводится имя этого файла. Если файлы с искомым текстом найдены не были, на экран выводится сообщение об этом.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БЛОК-СХЕМА АЛГОРИТМА

 

 

 

 

 

 

 

 

 

 

 

 

 

ПЕРЕЧИСЛЕНИЕ  И КРАТКОЕ ОПИСАНИЕ СРЕДСТВ .NET, ИСПОЛЬЗОВАВШИХСЯ В РАБОТЕ

Платформа .NET Framework является надстройкой над операционной системой, в качестве которой может выступать любая версия Windows. На сегодняшний день платформа .NET Framework включает в себя:

четыре  официальных языка: С#, VB.NET, Managed C++ (управляемый C++) и JScript .NET;

объектно-ориентированную  среду CLR ( Common Language Runtime ), совместно используемую этими языками для создания приложений под Windows и для Internet;

ряд связанных  между собой библиотек классов  под общим именем FCL (Framework Class Library).

Версия 2.0 была выпущена одновременно с Visual Studio 2005, SQL Server 2005 и BizTalk 2006. С выходом версии 2.0 была добавлена поддержка настраиваемых (обобщённых) (англ. generic) классов, анонимных методов, полная поддержка 64-битных платформ x64 и IA-64.

В программе  использованы следующие пространства имен:

System: содержит фундаментальные и базовые классы, которые определяют распространенные типы значений и ссылочные типы данных, события и обработчики событий, интерфейсы, атрибуты и исключения обработки.

System.Text: содержит классы, представляющие кодировки ASCII и Юникод, абстрактные базовые классы для преобразования блоков символов в блоки байтов и обратно и класс поддержки, управляющий объектами String и форматирующий такие объекты без создания промежуточных экземпляров String.

System.IO: содержит  типы, позволяющие осуществлять  чтение и запись в файлы и потоки данных, а также типы для базовой поддержки файлов и папок.

 

 

 

 

 

 

ОПИСАНИЕ  РАБОТЫ ПРОГРАММЫ

Программа поддерживает следующие ключи командной  строки:

    • -?
    • «Путь к файлу» «Искомый текст»

Искомый текст регистрозависим.

При запуске  программы без ключа будет  выводиться сообщение об ошибке и  подсказка о том, что в программе есть справка:

При запуске  с ключом -? на экран выведется справка:

При вводе  корректных ключей для поиска на экран  выведется список файлов, содержащий искомый текст:

При отсутствии искомого текста выводится соответствующее  сообщение:

При ошибочном  вводе ключа или отсутствии одного из параметров выводится сообщение  об ошибке:

В примере  выше вместо корректного пути к папке  с файлами введен некорректный.

 

 

 

 

 

СИСТЕМА ТЕСТОВ

В системе  тестов участвует папка C:\Test, в которой находятся 5 файлов со следующим содержимым:

    1. 1.txt: «тест 1»
    2. 2.txt: «нетест»
    3. 3.txt без текста вовсе
    4. 4.txt: «Тест»
    5. 5.txt: «тут фразы нет»

Таблица 1 – Система тестов

Ввод

Вывод

rgr-5 C:\Test “тест”

1.txt

2.txt

rgr-5

Вы запустили программу без  параметров! Для вызова справки запустите программу с ключом -?

rgr-5 -?

Справка.

Строка запуска должна иметь вид 

"название_программы путь_к_папке_с_файлами искомое_значение_в_кавычках"

Пример: rgr-5 C:/Test "Искомая  фраза"

Учтите, что искомый текст  регистрозависим!

rgr-5 C:\Test “Тест”

4.txt

rgr-5 C:\Test “Лампа”

Данный текст в файлах не встречается

rgr-5 лампа “Лампа”

Ошибка! Как минимум один из параметров командной строки содержит ошибки или отсутствует. Для вызова справки запустите программу с ключом -?


Все тесты  успешно пройдены.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЛИСТИНГ

using System;

using System.Text;

using System.IO;

 

namespace rgr_5

{

class Program

{

static void Main(string[] args)

{

try

{

if (args.Length > 0)

{

if (args[0] == "-?")

{

Console.WriteLine("Справка.\nСтрока запуска должна иметь вид \"название_программы путь_к_папке_с_файлами искомое_значение_в_кавычках\"\nПример: rgr-5 C:/Test \"Искомая фраза\"\nУчтите, что искомый текст регистрозависим!");

}

else

{

string path, text;

bool x = false;

path = args[0];

text = args[1];

 

foreach (var s in GetFilesInDirectory(path))

{

if (File.ReadAllText(s.FullName, Encoding.Default).Contains(text))

{

Console.WriteLine(s.Name);

x = true;

}

}

if (x == false) Console.WriteLine("Данный текст в файлах не встречается");

}

}

else

{

Console.WriteLine("Вы запустили программу без параметров!\nДля вызова справки запустите программу с ключом -?");

}

}

catch

{

Console.WriteLine("Ошибка!\nКак минимум один из параметров командной строки содержит ошибки или отсутствует.\nДля вызова справки запустите программу с ключом -?");

}

Console.Read();

}

 

private static FileInfo[] GetFilesInDirectory(string path)

{

return new DirectoryInfo(path).GetFiles();

}

}

}

 

 

 

ЗАКЛЮЧЕНИЕ

В данной расчетно-графической работе была освещена программа для нахождения текста в файлах в заданной папке. Со своей  задачей программа успешно справляется, а при возникновении ошибок –  не вылетает, а выводит сообщения  об ошибках различных типов.

 


Информация о работе Поиск файлов по вхождению текста