Вход/Регистрация
ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
вернуться

Троелсен Эндрю

Шрифт:

class Program {

 static void Main(string[] args) {

Console.WriteLine("***** Забавы с DriveInfo *****\n'');

// Получение информации о дисках.

// Вывод информации о состоянии.

foreach(DriveInfo d in myDrives) {

Console.WriteLine("Имя: {0}", d.Name);

Console.WriteLine("Тип: {0}", d.DriveType);

// Проверка диска.

if (d.IsReady) {

Console.WriteLine("Свободно: {0}", d.TotalFreeSpace);

Console.WriteLine("Формат: {0}", d.DriveFormat);

Console.WriteLine("Метка тома: {0}\n", d.VolumeLabel);

}

}

Console.ReadLine;

 }

}

На рис. 16.5 показан вывод, соответствующий состоянию моей машины.

Рис. 16.5. Сбор информации о дисках с помощью DriveInfo

Итак, мы рассмотрели некоторые возможности классов Directory.DirectoryInfo и DriveInfo. Далее вы узнаете, как создавать, открывать, закрывать и уничтожать файлы, присутствующие в каталоге.

Исходный код. Проект DriveTypeApp размещен в подкаталоге, соответствующем главе 16.

Работа с классом FileInfo

Как показывает пример MyDirectoryApp, класс FileInfo позволяет получить подробные сведения о файлах, имеющихся на вашем жестком диске (время создания, размер, атрибуты и т.д.), а также помогает создавать, копировать, перемещать и уничтожать файлы. Вдобавок к набору функциональных возможностей, унаследованных от FileSystemInfо, класс FileInfo имеет свои уникальные члены, и некоторые из них описаны в табл. 16.4.

Таблица 16.4. Наиболее важные элементы FileInfo

Член Описание
AppendText Создает тип StreamWriter (будет описан позже) для добавления текста в файл
CopyTo Копирует существующий файл в новый файл
Create Создает новый файл и возвращает тип FileStream (будет описан позже) для взаимодействия с созданным файлом
CreateText Создает тип StreamWriter, который записывает новый текстовый файл
Delete Удаляет файл, к которому привязан экземпляр FileInfo
Directory Получает экземпляр каталога родителя
DirectoryName Получает полный путь к каталогу родителя
Length Получает размер текущего файла или каталога
MoveTo Перемещает указанный файл в новое место, имеет опцию для указания нового имени файла
Name Получает имя файла
Open Открывает файл с заданными возможностями чтения/записи и совместного доступа
OpenRead Создает FileStream с доступом только для чтения
OpenText Создает тип StreamReader (будет описан позже) для чтения из существующего текстового файла
OpenWrite Создает FileStream с доступом только для записи

Важно понимать, что большинство членов класса FileInfo возвращает специальный объект ввода-вывода (FileStream, StreamWriter и т.д.), который позволит начать чтение или запись данных в соответствующем файле в самых разных форматах. Мы исследуем указанные типы чуть позже, а пока что давайте рассмотрим различные способы получения дескриптора файла с помощью типа класса FileInfo.

Метод FileInfо.Create

Первая возможность создания дескриптора файла обеспечивается методом FileInfo.Create.

public class Program {

 static void Main(string[] args) {

// Создание нового файла на диске C.

FileInfo f = new FileInfо(@"C:\Test.dat");

FileStream fs = f.Create;

// Использование объекта FileStream.…

// Закрытие файлового потока.

fs.Close;

 }

}

Обратите внимание на то, что метод FileInfo.Create возвращает тип FileStream, который, в свою очередь, предлагает набор синхронных и асинхронных операций записи/чтения для соответствующего файла. Объект FileStream, возвращенный методом FileInfo.Create, обеспечивает полный доступ чтения/записи всем пользователям.

Метод FileInfo.Open

Метод FileInfо.Open можно использовать для того, чтобы открывать существующие файлы и создавать новые с более точными характеристиками, чем при использовании FileInfo.Create. В результате вызова Open возвращается объект FileStream. Рассмотрите следующий пример.

  • Читать дальше
  • 1
  • ...
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: