Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Новые члены File в .NET 2.0

Новые члены File в .NET 2.0

В отличие от FileInfo, тип File поддерживает (в .NET 2.0) несколько своих собственных уникальных членов, описания которых приводятся в табл. 16.5. С помощью этих членов можно существенно упростить процессы чтения и записи текстовых данных.

Таблица 16.5. Методы типа File

Метод Описание
ReadAllBytes() Открывает указанный файл, возращает двоичные данные в виде массива байтов, а затем закрывает файл
ReadAllLines() Открывает указанный файл, возращает символьные данные в виде массива строк, а затем закрывает файл
ReadAllText() Открывает указанный файл, возращает символьные данные в виде System.String, а затем закрывает файл
WriteAllBytes() Открывает указанный файл, записывает массив байтов, а затем закрывает файл
WriteAllLines() Открывает указанный файл, записывает массив строк, а затем закрывает файл
WriteAllText() Открывает указанный файл, записывает символьные данные, а затем закрывает файл

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

class Program {
 static void Main(string[] args) {
  string[] myTasks = { "Прочистить сток в ванной", "Позвонить Саше и Сереже", "Позвонить родителям", "Поиграть с ХВох" };
  // Записать все данные в файл на диске C.
  File.WriteAllLines(@"C:tasks.txt", myTasks);
  // Прочитать все снова и напечатать.
  foreach (string task in File.ReadAllLines(@"C:tasks.txt")) {
   Console.WriteLine("Нужно сделать: {0}", task);
  }
 }
}

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

static void Main(string[] args) {
 // Вывод информации о файле boot.ini
 // с последующим открытием доступа только для чтения.
 FileInfo bootFile = new FileInfо(@"C:boot.ini");
 Console.WriteLine(bootFile.CreationTime);
 Console.WriteLine(bootFile.LastAccessTime);
 FileStream readOnlyStream = bootFile.OpenRead();
 readOnlyStream.Close();
}

Оглавление книги


Генерация: 1.464. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз