Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Анализ пространства имен System.IO
Анализ пространства имен System.IO
В .NET пространство имен System.IO является той частью библиотек базовых адресов, которая обслуживает службы ввода-вывода, как для файлов, так и для памяти. Подобно любому другому пространству имен, System.IO определяет свой набор классов, интерфейсов, перечней, структур и делегатов, большинство из которых содержится в mscorlib.dll. Вдобавок к типам, содержащимся в mscorlib.dll, часть членов System.IO содержится в компоновочном блоке System.dll (все проекты в Visual Studio 2005 автоматически устанавливают ссылку на оба эти компоновочных блока, поэтому вам об этом беспокоиться не приходится).
Задачей многих типов, принадлежащих System.IO), является программная поддержка физических операций с каталогами и файлами. Но есть и другие типы, обеспечивающие поддержку операций чтения и записи данных строковых буферов, a также непосредственный доступ к памяти. Чтобы представить вам общую картину функциональных возможностей пространства имен System.IO, в табл. 16.1 описаны его базовые (неабстрактные) классы.
Вдобавок к этим типам, допускающим создание экземпляров, в System.IO определяется целый ряд перечней, а также набор абстрактных классов (Stream, TextReader, TextWriter и т.д.), которые обеспечивают открытый полиморфный интерфейс всем своим производным классам. Более подробная информация об этих типах будет предлагаться в процессе дальнейшего обсуждения материала этой главы.
Таблица 16.1. Ключевые типы пространства имен System.IO
Неабстрактный тип класса ввода-вывода | Описание |
---|---|
BinaryReader BinaryWriter | Позволяют сохранять и читать примитивные типы данных (целые, логические, строковые и другие), как двоичные значения |
BufferedStream | Обеспечивает временное хранилище для потока байтов, которые можно будет направить в другое хранилище позже |
Directory DirectoryInfо | Используются для работы со структурой каталогов машины. Тип Directory предлагает свои функциональные возможности, в основном через статические методы. Тип DirectoryInfo обеспечивает аналогичные возможности с помощью подходящей объектной переменной |
DriveInfo | Этот тип (появившийся в .NET 2.0) предлагает подробную информацию о дисках, установленных на машине |
File FileInfo | Используются для работы с файлами. Тип File предлагает свои функциональные возможности, в основном через статические методы. Тип FileInfo обеспечивает аналогичные возможности с помощью подходящей объектной переменной |
FileStream | Позволяет реализовать произвольный доступ к файлам (например, поиск), когда данные представлены в виде потока байтов |
FileSystemWatcher | Позволяет контролировать изменения внешнего файла |
MemoryStream | Обеспечивает прямой доступ к данным, сохраненным в памяти, а не в физическом файле |
Path | Выполняет операции с типами System.String, содержащими информацию о файлах или каталогах в независимом от платформы виде |
StreamWriter StreamReader | Используются для записи (и чтения) текстовой информации файлов. Эти типы не поддерживают доступ к файлам с произвольной организацией |
StringWriter StringReader | Подобно типам StreamReader/StreamWriter, эти классы тоже обеспечивают обработку текстовой информации. Однако соответствующим хранилищем в данном случае является строковый буфер, а не физический файл |
- Анализ пространства имен System.IO
- Типы Directory(Info) и File(Info)
- Работа с типом DirectoryInfo
- Работа с типом Directory
- Работа с типом класса DriveInfo
- Работа с классом FileInfo
- Работа с типом File
- Абстрактный класс Stream
- Работа с StreamWriter и StreamReader
- Работа с типами StringWriter и StringReader
- Работа с BinaryWriter и BinaryReader
- Программный мониторинг файлов
- Асинхронный файловый ввод-вывод
- Резюме
- Ширина и глубина ассортимента
- Категорийный менеджмент. Курс управления ассортиментом в рознице
- Имена индексов ограничений
- Пример применения метода «пять почему»
- Имена объектов длиной 68 символов
- 2.5. Разработка технического задания на проведение детального анализа рынка при работе над инновационным проектом. Основ...
- 9.1. Проблема синтаксического анализа
- Ценовая сегментация ассортимента
- 2.12.2. Анализ усилительных каскадов в области малых времен
- 5.12.2 Открытие поименованного канала
- Сохранение рабочей книги с именем, представляющим собой текущую дату
- System tools used for debugging