Глава 13

Файлы и потоки

 

Большинство Web-приложений в хранении информации полагаются на базы данных. Базы данных незаменимы в сценариях с множеством пользователей. Они обрабатывают параллельный доступ без задержек, поддерживают кэширование и низкоуровневую оптимизацию дисковых операций, что гарантирует максимальную производительность. Достаточно просто реляционные системы управления базами данных обеспечивают наиболее устойчивое и хорошо организованное хранение данных.

Но, конечно же, большинство Web-разработчиков неизбежно сталкиваются со сценариями, требующими обращения к данным, расположенным в других местах— таких как файловая система. Распространенными примерами могут служить, чтение информации, произведенной другим приложением, запись быстрых черновых протоколов, необходимых для тестирования, а также создание управленческих страниц, позволяющих администраторам загружать файлы и просматривать, что в данный момент происходит на сервере. В этой главе вы научитесь применению классов из пространства имен System.IO для получения информации из файловой системы, работать с путевыми именами файлов как строками, писать и читать файлы, а также сериализовать объекты.

Изменения доступа к файлам в .NET 2.0

Классы для извлечения файловой информации и для чтения и записи потоков, по сути, остаются в .NET прежними, но с некоторыми полезными дополнениями. Ниже перечислены изменения, которые вы увидите в этой главе, в порядке их появления:

Класс DriveInfо. Наряду с существующими классами DirectiryInfо и FileInfо, класс DriveInfо позволяет вам получить информацию о логическом дисковом устройстве на текущем компьютере. Прежде всего, это удобно для определения свободного и использованного пространства.

Элемент управления FileUpload. FileUpload работает почти так же, как элемент управления HtmlInput, позволяя пользователю загружать файлы через браузер. Он имеет одно небольшое удобство — устанавливает тип кодировки дескриптора <form> автоматически, избегая часто возникающей ошибки.

Сжатие. Новое пространство имен System.IO.Compression предоставляет классы, позволяющие сжимать данные, используя стандартный промышленный алгоритм GZIP.

предыдущая    следующая страница    вначало главы    оглавление

571

Hosted by uCoz