Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 210

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 204 205 206 207 208 209 < 210 > 211 212 213 214 215 216 .. 320 >> Следующая

Обеспечивает произвольный доступ к файлу, представляемому как поток байтов
Также обеспечивает произвольный доступ к потоку байтов, но уже не в виде
физического файла, а в оперативной памяти
Используются для считывания из файла или записи файл текстовой
информации. Произвольный доступ к файлам при помощи этого класса не поддерживается
Эти классы также предназначены для работы с текстовой информацией, однако они применяются для работы с буфером в оперативной памяти, а не с файлом на диске
Типы Directory(Info) и File(Info) 521
Типы и File(Info)
В пространстве имен System. IO предусмотрено четыре класса, которые предназначены для работы с физическими файлами на диске и структурой каталогов на диске. Первые два типа — Dl rectory и Г I е — позволяют выполнять операции в фаі до-вой системе (создание, удаление и т. п.) при помощи статическихчленов. D1 rectory Info и Fi 1 einfo обладают схожими функциональными возможностями, но они реализуются путем создания объектов данных классов. Иерархия этих классов представлена на рис. L 1.2. Обратите внимание, что типы DirsciO'y и Fi Iенапрямую производятся от System. Object, а Directoryinfo и Fileinfo происходят от абстрактного класса
Object
Directory
File
FileSystemlnfo
Directoryinfo
Fileinfo
Рис. 11.2. Иерархия классов для работы с файлами и каталогами
Абстрактный класс FileSystemlnfo
Классы D1 rectorylnf on Fi 1 einfo наследуют значительную часть своихвозможностей от абстрактного класса FileSystemlnfo. Значительная часть членов FileSystemlnfo предназначена для работы с общими характеристиками файла или каталога (метками времени, атрибутами и т. п.). Наиболее интересные свойства FileSystemlnfo представлены в табл. 11.2.
Помимо обычных классов, представленных в табл. 1 I T в System. предусмотрено также большое количество перечислений и абстрактных классов. Абстрактные классы (Stream, TextReader, TextWriter и т. п.) определяют общие полиморфические интерфейсы для производных классов. С многими из этих абстрактных и производных классов мы познакомимся подробнее в этой главе.
522 Глава 11 • Ввод, вывод и сериализация объектов
Таблица 11.2. Свойства класса FileSystemlnfo
Свойство
Описание
Attributes
CreationTime
Exists
Extension iFullName
LastAccessTime LastWriteTime
Name
Позволяет получить или установить атрибуты ДЛЯ данного объекта файловой системы. Для этого свойства используются значения и перечисления FileAttributes
Позволяет получить или установить время создания объекта файловой системы
Может быть использовано для того, чтобы определить, существует ли данный
объект файловой системы
Позволяет получить расширение для файла
Возвращает имя файла или каталога с указанием пути к нему в файловой системе
получить или установить время последнего обращения к объекту файловой системы
Позволяет получить или установить время последнего внесения
в объект файловой системы
Возвращает имя указанного файла. Это свойство доступно только для чтения. Для каталогов возвращает имя последнего каталога в иерархии, если это возможно. Если нет, возвращает полностью определенное имя_
В FueSystemlpfoпредусмотрены и несколько методов. Например, метод OeIeLeC) позволяет удалить объект файловой системы с жесткого диска, a Refresh () - обновить информацию об объекте файловой системы, например, перед обращением к его атрибутам.
Работа с типом Directoryinfo
Первый «нормальный» класс, с которым мы познакомимся, — класс Directory Info. Он содержит набор членов, которые предназначены для создания, перемещения, удаления, получения информации о каталогах и подкаталогах в файловой системе. Помимо членов, унаследованных от FileSystemlnfo, Directoryinfo определяет такженаборсвоихсобственных,уникальныхчленов,представленныхвтабл. 11.3.
Таблица 11.3. Члены класса Directorylnfo
Член
Описание
Создают каталог (или подкаталог) по указанному пуги в файловой системе
CreateSubDirectoryO
DeleteO Удаляет каталог со всем его содержимым
GetDirectories{) Возвращает массив строковых значений, представляющих все подкаталоги
GetFilesO MoveToO
Farent
Позволяет получить файлы в текущем каталоге (в виде массива объектов Fileinfo)
Перемещает каталог и все его содержимое на новый адрес в файловой системе
Возвращает родительский каталог в иерархии файловой системы
РаботастипомОігесІогу1пґоначинаетсястого,чтомьіуказьіваемпутькданно-му каталогу (например, С:\, D:\Win NT1 \\CompnayServer\Utils, А:\и т. п.) как параметр для конструктора объекта Directorylnfo. Если мы хотим обратиться к текущему
Типы Directory(Info) и File(Info) 523
каталогу (то есть каталогу, в котором в настоящее время производится выполнение приложения), используем обозначение ".". Вот несколько примеров:
// Создаем объект Directoryinfo, которому будет соответствовать текущий каталог Directoryinfo dirl = new DirectorylnfoC'."):
// Соэдаеи объект Directorylnfo, которое будет соотвествоеать каталог C:\Foo\Bar Dlrectorylnfo dir2 = new Directorylnfo<ia"C:\Foo\Bar"):
Если мы попытаемся создать объект Di rectoryInfс для несуществующего каталога, будет сгенерировано исключение System. lO.DirectoryNotFoundExceptioii. Если же все нормально, то мы сможем получить информацию о данном каталоге и его содержимом при помощи свойств (л rectory In ff). В примере, который приведен ниже, мы создаем объект Dt rectory Info, которому соответствует каталог D:\VyinNI (измените этот путь, если на вашем компьютере файлы Windows 2000 лежат в другом месте), и выводим информацию о каталоге файловой системы:
Предыдущая << 1 .. 204 205 206 207 208 209 < 210 > 211 212 213 214 215 216 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100