Анализ пространства имен 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, эти классы тоже обеспечивают обработку текстовой информации. Однако соответствующим хранилищем в данном случае является строковый буфер, а не физический файлБолее 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
1.4. Пространства имен
1.4. Пространства имен Если два неродственных процесса используют какой-либо вид IPC для обмена информацией, объект IPC должен иметь имя или идентификатор, чтобы один из процессов (называемый обычно сервером — server) мог создать этот объект, а другой процесс (обычно один или
Интерфейсы из пространства имен System.Collections
Интерфейсы из пространства имен System.Collections В качестве самого примитивного контейнера может выступать тип System.Array. В главе 3 было показано, что класс System.Array предлагает целый ряд соответствующих возможностей (таких, как инвертирование, сортировка, очистка и перечисление).
Классы из пространства имен System.Collections
Классы из пространства имен System.Collections Еще раз подчеркнем, что интерфейсы остаются бесполезными до тех пор, пока они не реализованы соответствующим классом или соответствующей структурой. В табл. 7.3 предлагаются описания основных классов из пространства имен System.Collections
Исследование пространства имен System.Reflection.Emit
Исследование пространства имен System.Reflection.Emit Для создания динамического компоновочного блока требуется в определенной мере понимать коды операций CIL, но типы пространства имен System.Reflection. Emit в максимальной мере "пытаются" скрыть сложность CIL. Например, вместо прямого
Обзор пространства имен System.Windows.Forms
Обзор пространства имен System.Windows.Forms Как и любое другое пространство имен, System.Windows.Forms компонуется из различных классов, структур, делегатов, интерфейсов и перечней. Хотя различие между консольным (CUI) и графическим (GUI) интерфейсами, на первый взгляд, кажется подобным
Обзор пространства имен System.Drawing
Обзор пространства имен System.Drawing Большинство типов, которые вам придется использовать при создании GDI-приложений, содержится в пространстве имен System.Drawing. Как и следует ожидать, здесь есть классы, представляющие изображения, кисти, перья и шрифты. Кроме того, System.Drawing
Обзор пространства имен System.Drawing.Drawing2D
Обзор пространства имен System.Drawing.Drawing2D Теперь, когда мы обсудили возможности использования типа Font, следующей нашей задачей будет рассмотрение объектов Pen и Brush, предназначенных для визуализации геометрических шаблонов. Вы, конечно, можете ограничиться использованием
Пространства имен ASP.NET 2.0
Пространства имен ASP.NET 2.0 В библиотеках базовых классов .NET 2.0 предлагается не менее 34 пространств имен, имеющих отношение к Web. Всю эту совокупность пространств имен можно разбить на четыре главные группы.• Базовые функциональные возможности (типы, обеспечивающие
Пространства имен
Пространства имен В программе на языке Си имена (идентификаторы) используются для ссылок на различного рода объекты — функции, переменные, формальные параметры и т. п. При соблюдении определенных правил, описанных в данном разделе, допускается использование одного и
8.5. Определения пространства имен А
8.5. Определения пространства имен А По умолчанию любой объект, функция, тип или шаблон, объявленный в глобальной области видимости, также называемой областью видимости глобального пространства имен, вводит глобальную сущность. Каждая такая сущность обязана иметь
8.5.1. Определения пространства имен
8.5.1. Определения пространства имен Определение пользовательского пространства имен начинается с ключевого слова namespace, за которым следует идентификатор. Он должен быть уникальным в той области видимости, в которой определяется данное пространство; наличие другой
8.5.3. Вложенные пространства имен
8.5.3. Вложенные пространства имен Мы уже упоминали, что пользовательские пространства имен могут быть вложенными. Такие пространства применяются для дальнейшего структурирования кода нашей библиотеки.// ---- primer.h ----namespace cplusplus_primer {// первое вложенное пространство имен://
8.5.5. ПОО и члены пространства имен
8.5.5. ПОО и члены пространства имен Как уже было сказано, определение пространства имен может состоять из разрозненных частей и размещаться в разных файлах. Следовательно, член пространства разрешено объявлять во многих файлах. Например:// primer.hnamespace cplusplus_primer {// ...void inverse(
8.5.6. Безымянные пространства имен
8.5.6. Безымянные пространства имен Может возникнуть необходимость определить объект, функцию, класс или любую другую сущность так, чтобы она была видимой только в небольшом участке программы. Это еще один способ решения проблемы засорения глобального пространства