![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Классы и методы для работы с текстовыми файламиСодержание книги
Поиск на нашем сайте
Чтение и запись данных выполняются при помощи класса Stream. Платформа.NET Framework предоставляет целый ряд классов, являющихся потомками Stream, в том числе FileStream, MemoryStream и NetworkStream. Если доподлинно известно, что файл содержит только текст, то для чтения или записи можно применять классы StreamReader и SireamWriter соответственно. Эти классы разработаны специально для облегчения работы с текстом. Например, они обладают методами ReadLine() и WriteLine(), позволяющими читать и записывать одну строку текста. Некоторые полезные свойства и методы для работы с текстовыми файлами:
// Методы, реализующие файловые операции FileInfo экземпляр_файла = new FileInfo(имя_файла); FileInfo экземпляр_файла_копии = экземпляр_файла.CopyTo(имя_файла_копии); экземпляр_файла.Delete();
// Свойства класса DateTime dt = экземпляр_файла.CreationTime; bool f = экземпляр_файла.Exists; long l = экземпляр_файла.Length;
// Методы, создающие потоки для работы с текстом с кодировкой UTF-8 StreamWriter поток_вывода = экземпляр_файла.CreateText(); StreamWriter поток_вывода = экземпляр_файла.AppendText(); StreamWriter поток_вывода = new StreamWriter(имя_файла);
StreamReader поток_ввода = экземпляр_файла.OpenText(); StreamReader поток_ввода = new StreamReader(имя_файла);
// Методы для работы с потоками string s = поток_ввода.ReadLine(); // Возвращает null в конце файла int k = поток_ввода.Read(); // Возвращает -1 в конце файла string s = поток_ввода.ReadToEnd(); // Читает весь файл поток_ввода.Close();
поток_вывода.Write(); поток_вывода.WriteLine(); поток_вывода.Close(); Класс FileInfo уже рассматривался выше. Конструктор создает экземпляр файла, который представляет файл, заданный его полным именем. Метод CopyTo создает копию файла, заданного его полным именем. Возвращает экземпляр файла-копии. Возможен запрет перезаписи существующего файла. Метод Delete удаляет файл, представленный данным экземпляром, без возможности его восстановления. Свойства CreationTime и LastAccessTime позволяют получить или задать соответственно время создания файла и время последнего доступа к файлу. Свойство Exists возвращает true, если файл существует. Свойство Length возвращает размер файла в байтах. Методы CreateText и AppendText создают поток вывода текста StreamWriter. AppendText — для добавления текста в существующий файл. CreateText — для записи нового файла, либо перезаписи существующего. Метод OpenText создает поток ввода текста StreamReader для считывания данных из существующего файла.
Класс StreamReader используется для чтения из текстовых файлов. Его методы Read и ReadLine читают из текстового файла один символ или всю строку соответственно. Метод ReadToEnd читает весь файл как одну строку, причем эта строка может содержать символы перевода строки. Класс StreamWriter используется для записи в текстовые файлы. Его методы Write и WriteLine записывают в текстовый файл переменные типа string и строки текста с символом перевода строки в конце соответственно. Аргумент этих методов может содержать обозначения {0}, {1},..., возможно, с добавлением форматирующих кодов и ширины полей, что позволяет получать и включать в вывод дополнительные аргументы. Метод Close закрывает доступ к файлу и освобождает ресурсы, которые использовались операционной системой. Таким образом, создать поток можно: 1. с помощью объекта FileInfo и его методов CreateText, AppendText, OpenText; 2. непосредственно путем создания экземпляра класса StreamReader или StreamWriter. Первый способ рассмотрим на примере чтения текста из файла, для чего необходимо сначала создать объект FileInfo и затем вызвать его метод OpenText(). Этот метод возвращает объект StreamReader для файла, представляемого экземпляром класса FileInfo. Имея этот объект, можно приступать к построчному чтению файла, например, в цикле. FileInfo f = new FileInfo(@"D:\data.txt"); StreamReader fsr = f.OpenText(); string text; do { text = fsr.ReadLine(); if (text == null) break; // Использование строки text } while (true) fsr.Close();
Второй способ рассмотрим на примере записи данных в текстовый файл путем создания непосредственно экземпляра потока StreamWriter: StreamWriter fsw = new StreamWriter(@"D:\data.r2"); fsw.WriteLine("Эта строка выводится в файл:\n"); fsw.Close();
В случае добавления данных в существующий текстовый файл следует использовать первый способ: 1. создать объект FileInfo, представляющий данный файл; 2. убедиться в том, что файл существует, используя свойство Exists; 3. если файл существует, то при помощи метода AppendText() создать экземпляра потока StreamWriter для добавления текстовых данных.
FileInfo f = new FileInfo(@"D:\data.r2"); if (f.Exists) { StreamWriter fsw = f.AppendText(); fsw.WriteLine("\nЭта строка добавляется в файл data.r2"); fsw.Close(); } Задание
1. Создать текстовый документ и ввести в несколько строк (не менее 5), соответствующих решению индивидуальной задачи по обработке строк из лабораторной работы №5. Файл сохранить в формате UTF-8 с заданным именем и расширением (см. табл. 10).
2. Модифицировать программу, разработанную при выполнении лабораторной работы №5 так, чтобы исходные строки для обработки считывались из текстового файла исходных данных, созданного при выполнении п.1 этого задания, а результаты обработки выводились в текстовый файл результатов с заданным именем и расширением (см. табл. 10). При этом должны иметь место следующие особенности: чтение исходных данных из файла выполнять в методе Main(). запись результатов обработки в файл выполнять в пользовательской функции. при выводе в файл следовать инструкции (см. табл. 10). 3. Модифицировать блок-схемы алгоритмов для метода Main() и пользовательской функции. 4. В отчете привести модифицированные блок-схемы и листинг программы, а также распечатки исходного файла и файла результатов. 5. Сделать вывод по работе.
Таблица 10. Варианты индивидуальных заданий к лабораторной работе №6
Лабораторная работа №7
Тема: Статические структуры данных
Цель: освоение составления и тестирования алгоритмов и программ, содержащих простые запросы действий пользователя и выполняющих управление данными с использованием статических структур.
Теоретические положения
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-09-26; просмотров: 145; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.54.244 (0.01 с.) |