Автор работы: Пользователь скрыл имя, 15 Мая 2013 в 19:00, курсовая работа
Написать программу для поиска конкретного текста в файлах в определенной папке. На входе: путь к каталогу и строка текста в кавычках. На выходе: список файлов каталога, в которых встречается эта строка.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное автономное образовательное учреждение высшего профессионального образования | ||||||||||||||||
«Северный (Арктический) федеральный университет имени М.В. Ломоносова» | ||||||||||||||||
Кафедра информационных технологий |
||||||||||||||||
(наименование кафедры) |
||||||||||||||||
Веснина Светлана Александровна |
||||||||||||||||
(фамилия, имя, отчество |
||||||||||||||||
Институт |
МИиКТ |
курс |
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 – Система тестов
Ввод |
Вывод |
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("Справка.\
}
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(
{
Console.WriteLine(s.Name);
x = true;
}
}
if (x == false) Console.WriteLine("Данный текст в файлах не встречается");
}
}
else
{
Console.WriteLine("Вы запустили программу без параметров!\nДля вызова справки запустите программу с ключом -?");
}
}
catch
{
Console.WriteLine("Ошибка!\
}
Console.Read();
}
private static FileInfo[] GetFilesInDirectory(string path)
{
return new DirectoryInfo(path).GetFiles()
}
}
}
ЗАКЛЮЧЕНИЕ
В данной
расчетно-графической работе была освещена
программа для нахождения текста
в файлах в заданной папке. Со своей
задачей программа успешно