Симон Робинсон - C# для профессионалов. Том II

Тут можно читать онлайн Симон Робинсон - C# для профессионалов. Том II - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Лори, год 2003. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C# для профессионалов. Том II
  • Автор:
  • Жанр:
  • Издательство:
    Лори
  • Год:
    2003
  • Город:
    Москва
  • ISBN:
    5-85582-187-0
  • Рейтинг:
    4.88/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Симон Робинсон - C# для профессионалов. Том II краткое содержание

C# для профессионалов. Том II - описание и краткое содержание, автор Симон Робинсон, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
C# для профессионалов

Платформа .NET предлагает новую среду, в которой можно разрабатывать практически любое приложение, действующее под управлением Windows, а язык C# — новый язык программирования, созданный специально для работы с .NET.

В этой книге представлены все основные концепции языка C# и платформы .NET. Полностью описывается синтаксис C#, приводятся примеры построения различных типов приложений с использованием C# — создание приложений и служб Windows, приложений и служб WWW при помощи ASP.NET, а также элементов управления Windows и WWW Рассматриваются общие библиотеки классов .NET, в частности, доступ к данным с помощью ADO.NET и доступ к службе Active Directory с применением классов DirectoryServices.

Для кого предназначена эта книга

Эта книга предназначена для опытных разработчиков, возможно, имеющих опыт программирования на VB, C++ или Java, но не использовавших ранее в своей работе язык C# и платформу .NET. Программистам, применяющим современные технологии, книга даст полное представление о том, как писать программы на C# для платформы .NET.

Основные темы книги

• Все особенности языка C#

• C# и объектно-ориентированное программирование

• Приложения и службы Windows

• Создание web-страниц и web-служб с помощью ASP NET

• Сборки .NET

• Доступ к данным при помощи ADO NET

• Создание распределённых приложений с помощью NET Remoting

• Интеграция с COM, COM+ и службой Active Directory

C# для профессионалов. Том II - читать онлайн бесплатно полную версию (весь текст целиком)

C# для профессионалов. Том II - читать книгу онлайн бесплатно, автор Симон Робинсон
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

В этом разделе мы будем в основном использовать классы FileInfoи DirectoryInfo, но оказывается, что многие (но не все) вызываемые методы реализуются также классами Fileи Directory(хотя в этих случаях эти методы требуют дополнительный параметр, имя пути доступа объекта файловой системы и пара методов имеют немного отличные имена). Например:

FileInfo MyFile = new FileInfo(@"C:\Program Files\My Program\ReadMe.txt");

MyFile.CopyTo(@"D:\Copies\ReadMe.txt");

Имеет тот же результат, что и:

File.Copy(@"C:\Program Files\My Program\ReadMe.txt", @"D:\Copies\ReadMe.txt");

Первый фрагмент кода будет выполняться немного дольше, так как он требует создания экземпляра объекта FileInfoMyFile, но он оставляет MyFileготовым для выполнения дальнейших действий на том же файле.

Для создания экземпляра класса FileInfoили DirectoryInfoв конструктор передается строка, содержащая путь доступа к соответствующей файловой системе. Мы только что проиллюстрировали процесс для файла. Для папки код выглядит аналогично:

DirectoryInfo MyFolder = new DirectoryInfo(@"C:\Program Files");

Если путь доступа представляет объект, который не существует, то исключение будет порождено не во время создания, а в тот момент, когда будет вызван метод, которому потребовался объект соответствующей файловой системы. Можно определить существует ли объект и имеет ли соответствующий тип, проверяя свойство Exists, которое реализовано для обоих этих классов:

FileInfo Test = new FileInfo(@"C:\Windows");

Console.WriteLine(Test.Exists.ToString());

Console.WriteLine(Test.CreationTime.ToString());

Отметим, что для того, чтобы это свойство возвращало true, соответствующий объект файловой системы должен быть соответствующего типа. Другими словами, если создается экземпляр объекта FileInfo, содержащий путь доступа папки или, если создается объект DirectoryInfo, задающий путь доступа файла, Existsбудет иметь значение false. С другой стороны, большинство свойств и методов этих объектов будут возвращать значение, если вообще это возможно. Но они не обязательно порождают исключение из-за того, что был вызван неправильный тип объекта, а только в том случае, если требовалось выполнить что-то реально невозможное. Например, приведенный выше фрагмент кода сначала выведет false(так как C:\Windowsявляется папкой), но затем все равно правильно покажет время создания папки, так как в папке имеется эта информация. С другой стороны, если затем попробовать открыть папку, как если бы это был файл, с помощью метода FileInfo.Open(), то будет порождено исключение.

После того, как определено, что соответствующий объект файловой системы существует, можно (если используется класс FileInfoили DirectoryInfo) найти о нем информацию, используя ряд свойств, включающих:

Имя Назначение
CreationTime Время создания файла или папки.
DirectoryName(FileInfo), Parent(DirectoryInfo) Полный путь доступа содержащей папки.
Exists Существует ли файл или папка.
Extension Расширение файла. Возвращается пустым для папок.
FullName Полное имя пути доступа файла или папки.
LastAccessTime Время последнего доступа к файлу или папке.
LastWriteTime Время последней модификации файла или папки.
Name Имя файла или папки.
Root (Только DirectoryInfo.) Корневая часть пути доступа.
Length (Только FileInfo.) Возвращает размер файла в байтах.

Можно также выполнить действия на объекте файловой системы с помощью следующих методов:

Имя Назначение
Create() Создает папку или пустой файл с заданным именем. Для FileInfoон возвращает также объект потока, чтобы позволить записать в файл. Потоки будут рассмотрены позже.
Delete() Удаляет файл или папку. Для папок существует вариант рекурсивного метода Delete.
MoveTo() Перемещает и/или переименовывает файл или папку.
CopyTo() (Только FileInfo.) Копирует файл. Отметим, что не существует метода копирования для папок. Если копируются все деревья каталогов, то необходимо индивидуально скопировать каждый файл и создать новые папки, соответствующие старым папкам.
GetDirectories() (Только DirectoryInfo.) Возвращает массив объектов DirectoryInfo, представляющих все папки, содержащиеся в этой папке.
GetFiles() (Только DirectoryInfo.) Возвращает массив объектов FileInfo, представляющих все папки, содержащиеся в этой папке.
GetFileSystemObjects() (Только DirectoryInfo.) Возвращает объекты FileInfoи DirectoryInfo, представляющие все объекты, содержащиеся в этой папке, как массив ссылок FileSystemInfo.

Отметим, что приведенные выше таблицы показывают основные свойства и методы, и не являются исчерпывающими.

В приведенных выше таблицах не перечислены большинство свойств или методов, которые позволяют записывать или читать данные в файлах. Это в действительности делается с помощью потоковых объектов, которые будут рассмотрены позже. FileInfoреализует также ряд методов ( Open(), OpenRead(), OpenText(), OpenWrite(), Create(), CreateText(), которые возвращают объекты потоков для этой цели).

Интересно то, что время создания, время последнего доступа, и время последней записи являются изменяемыми:

// Test является FileInfo или DirectoryInfo. Задать время создания

// как 1 Jan 2001, 7.30 am

Test.CreationTime = new DateTime(2001, 1, 1, 7, 30, 0);

Это может показаться странным, но на самом деле достаточно полезно. Например, если имеется программа, которая эффективно модифицирует файл, просто считывая его, затем удаляя его и создавая новый файл с новым содержимым, то будет желательно изменить дату создания, чтобы противопоставить первоначальной дате создания старого файла.

Класс Path

Класс Pathне является классом, экземпляры которого будут создаваться. Скорее он предоставляет некоторые статические методы, которые облегчают работу с путями доступа. Например, предположим, что необходимо вывести имя полного пути доступа для файла ReadMe.txtв папке C:\My Documents. Путь доступа к файлу можно найти с помощью следующей операции:

Console.WriteLine(Path.Combine(@"C:\My Documents", "ReadMe.txt"));

Использовать класс Path значительно проще, чем пытаться справиться с символами-разделителями вручную, потому что класс Pathзнает различные форматы имен путей доступа в различных операционных системах. Во время написания книги Windows являлась единственной операционной системой, поддерживаемой .NET, но если, например, .NET будет в дальнейшем перенесена на Unix, то Pathсможет справиться с путями доступа Unix, где в качестве разделителя в именах путей доступа используется /, а не \. Path.Combineявляется методом этого класса, который будет вероятно использоваться чаще всего, но Pathреализует также другие методы, которые предоставляют информацию о пути доступа или требуемом для него формате.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Симон Робинсон читать все книги автора по порядку

Симон Робинсон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# для профессионалов. Том II отзывы


Отзывы читателей о книге C# для профессионалов. Том II, автор: Симон Робинсон. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x