Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Считывание и запись двоичных данных. Класс BinaryWriter. Класс BinaryReader.

Читайте также:
  1. FAB-классификация острых лейкозов
  2. I I I . 2 . 3 . Библиографическая запись
  3. I. Классификации осужденных по УИК РФ
  4. II. КЛАССНАЯ ДАМА
  5. II. ОРГАНИЗАЦИЯ И ФУНКЦИОНИРОВАНИЕ КЛАССОВ КОРРЕКЦИОННО-РАЗВИВАЮЩЕГО ОБУЧЕНИЯ
  6. II. Типологии характера, их классификация
  7. II. Формальные нормативы классического идеала.
  8. II.3. На классическом материале или на современном?
  9. III. Классицизм в Петербурге в таблице.
  10. III. ПРАВО ПОСЛЕКЛАССИЧЕСКОЕ

Классы Binary Writer и Binary Reader являются прямыми наследниками System.Object. Эти типы позволяют записывать и читать дискретные типы данных в потоки в компактном двоичном формате. В классе BinaryWriter определен многократно перегруженный метод Write() для помещения типов данных в лежащий в основе поток. В дополнение к Write(), класс BinaryWriter предоставляет дополнительные члены, позволяющие получать или устанавливать объекты унаследованных от Stream типов, а также поддерживает произвольный доступ к данным.

Наиболее важные методы выходного потока BinaryWriter:

Член класса Описание
BaseStream() Определяет базовый поток, с которым работает объект BinaryWriter
Close() Закрывает поток
Flush() Очищает буфер
Seek() Устанавливает позицию в текущем потоке
Write() Записывает значение в текущий поток

Наиболее важные методы входного потока BinaryReader:

Член класса Описание
BaseStream() Определяет базовый поток, с которым работает объект BinaryReader
Close() Закрывает поток
PeekChar() Возвращает следующий символ потока без перемещения внутреннего указателя в потоке
Read() Считывает очередной поток байтов или символов и сохраняет в массиве, передаваемом как входной параметр
ReadBoolean(), ReadByte() и др. Считывает из потока данные определенного типа

Двоичный поток открывается на основе базового потока (например, FileStream), при этом двоичный поток будет преобразовывать байтовый поток в значения int-, double-, short- и т.д. Попытка просмотреть двоичный файл через текстовый редактор неинформативна. Двоичный файл просматривается программным путем.

Следует помнить, что объект FileStream, возвращенный методом Filelnfo.OpenWrite(), передается конструктору класса BinaryWriter. Используя эту технику, очень просто организовать по уровням поток перед записью данных. Нужно иметь в виду, что конструктор BinaryWriter принимает любой тип, унаследованный от Stream (т.е. FileStream, MemoryStream или BufferedStream). Таким образом, если необходимо записать двоичные данные в память, просто используйте объект MemoryStream.

 

 

 

6. Навигация по файловой системе: классы для работы с файловой системой.

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

В пространстве имен System.IO есть четыре класса, предназначенные для работы с физическими файлами и структурой каталогов на диске: Directory, File, DirectoryInfo, FileInfo. С их помощью можно выполнять создание, удаление, перемещение файлов и каталогов, а также получение их свойств.

Классы Directory и File реализуют свои функции через статические методы. Классы DirectoryInfo и FileInfo обладают схожими возможностями, но они реализуются путем создания объектов соответствующих классов. Эти два класса наследуются от абстрактного класса FileSystemInfo, в котором имеются следующие базовые свойства:

¾ Attributes – получить или установить атрибуты для текущего файла или папки;

¾ CreationTime – получить или установить время создания текущего файла или папки;

¾ Exists – определить, существует ли файл или папка;

¾ Exstension – получить расширение файла в виде строки;

¾ FullName – возвратить полный путь к файлу или папке;

¾ LastWriteTime – получить или установить время последней записи в файл или папку;

¾ LastAccessTime – получить или установить время последнего обращения к файлу или папке;

¾ Name – возвратить «простое» имя файла или папки,

а также методы:

¾ Delete – удалить файл или папку;

¾ Refresh – обновить экземпляр класса последними данными о файловой системе.

Класс DirectoryInfo содержит следующие методы и свойство, позволяющие создавать, перемещать, удалять каталоги и подкаталоги:

Член класса Описание
Create() CreateSubDirectory() Создает каталог или подкаталог по указанному пути в файловой системе.
Delete(true) Удаляет каталог и все его содержимое.
GetDirectories() Возвращает массив строк, представляющих все подкаталоги текущего каталога.
GetFiles() Получает файлы текущего каталога в виде массива объектов класса FileInfo.
MoveTo() Перемещает каталог и его содержимое в место, соответствующее заданному новому пути.
Parent Возвращает родительский каталог.

Класс FileInfo предоставляет следующую базовую функциональность для доступа к отдельным файлам и управления ими:

Свойства класса Описание
Directory Возвращает объект DirectoryInfo, представляющий папку, в которой расположен файл.    
DirectoryName Возвращает полный путь к каталогу родителя.
IsReadOnly Возвращает или устанавливает флаг, определяющий возможность изменения или удаления файла.
Length Возвращает размер файла.
AppendText() Создает новый объект StreamWriter, позволяющий добавлять текст в файл.
CopyTo() Создает копию файла в другом каталоге.
Create() Создает файл с параметрами текущего файла.
CreateText() Создает новый объект StreamWriter и новый файл для записи текста.
Decrypt()   Encrypt() Расшифровывает файл, зашифрованный текущим пользователем. Зашифровывает файл, делая его содержимое доступным только текущему пользователю.  
MoveTo() Перемещает файл в другой каталог.
Open() Открывает файл с заданными возможностями чтения/записи и совместного доступа.
OpenRead() Открывает файл только для чтения.
OpenText() Открывает файл и возвращает объект StreamReader для чтения текста из файла.
OpenWrite() Открывает файл только для записи.
Replace() Заменяет файл файлом, созданным по параметрам текущего объекта FileInfo.

Перечень (enum) FileAttributes. Свойство Attributes, предоставленное объектом FileSystemInfo, обеспечивает получение различной информации о текущем каталоге или файле, и вся она содержится в перечне FileAttributes:




Дата добавления: 2015-09-10; просмотров: 27 | Поможем написать вашу работу | Нарушение авторских прав

Классы библиотеки .NET для работы с потоками | Класс FileStream и файловый ввод-вывод на побайтовой основе. Открытие и закрытие файла. Запись данных в файл. Считывание байтов из объекта класса FileStream. | Основы организации потоков. Потоки и многозадачность. Пространство имен System.Threading. Класс Thread. Создание потока. | Проблемы одновременности и синхронизации потоков. Общий доступ к данным из разных потоков, предотвращение коллизий. | Краткий обзор ADO.NET. Три стороны технологии ADO.NET. Пространство имен System.Data. | Поставщики данных ADO.NET. Поведение объектов подключения. | Объектная модель ADO.NET | Краткий обзор объектов ADO .NET. | События | Свойства |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав