DirectoryInfo - класс


Предоставляет методы экземпляра класса для создания, перемещения, копирования и перечисления объектов файловой системы в папках и вложенных папках.

 

[Serializable]

public sealed class DirectoryInfo : FileSystemInfo

 

Открытые конструкторы

DirectoryInfo - конструктор   Инициализирует новый экземпляр класса DirectoryInfo для указанного пути.

 

Открытые свойства

Attributes (унаследовано от FileSystemInfo) Возвращает или устанавливает FileAttributes для текущего класса FileSystemInfo.
CreationTime (унаследовано от FileSystemInfo) Возвращает или устанавливает время создания текущего объекта FileSystemInfo.
CreationTimeUtc (унаследовано от FileSystemInfo) Возвращает или устанавливает время создания текущего объекта FileSystemInfo в формате всеобщего скоординированного времени (UTC).
Exists   Переопределен. Возвращает значение, определяющее, создана ли папка.
Extension (унаследовано от FileSystemInfo) Возврат строки, содержащей расширение файла.
FullName (унаследовано от FileSystemInfo) Возвращает полный путь к папке или файлу.
LastAccessTime (унаследовано от FileSystemInfo)   Возвращает или устанавливает время последнего доступа к текущему файлу или папке.
LastAccessTimeUtc (унаследовано от FileSystemInfo) Возвращает или устанавливает дату и время последнего доступа к заданному файлу или папке в формате всеобщего скоординированного времени (UTC).
LastWriteTime (унаследовано от FileSystemInfo)   Возвращает или устанавливает время последней операции записи в текущий файл или папку.
LastWriteTimeUtc (унаследовано от FileSystemInfo) Возвращает или устанавливает время последней операции записи в текущий файл или папку в формате всеобщего скоординированного времени (UTC).
Name   Переопределен. Возвращает имя данного экземпляра DirectoryInfo.
Parent   Возвращает родительскую папку указанной вложенной папки.
Root Возвращает корневой элемент пути.

 

Открытые методы

Create Создает папку.
CreateObjRef (унаследовано от MarshalByRefObject) Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для коммуникации с удаленными объектами.
CreateSubdirectory   Создает вложенную папку или вложенные папки по указанному пути. Указанный путь должен относиться к текущему экземпляру класса DirectoryInfo.
Delete   Переопределен. Удаляет из пути DirectoryInfo и его содержимое. Перегружен.
Equals (унаследовано от Object) Перегружен. Определяет, равны ли два экземпляра Object.
GetDirectories   Возвращает вложенные папки текущей папки. Перегружен.
GetFiles   Возвращает список файлов текущей папки. Перегружен.
GetFileSystemInfos   Перегружен. Извлекает массив объектов со строгим типом FileSystemInfo.
GetHashCode (унаследовано от Object)   Служит хеш-функцией для конкретного типа, пригоден для использования в алгоритмах хеширования и структурах данных, например в хеш-таблице.
GetLifetimeService (унаследовано от MarshalByRefObject) Извлекает служебный объект текущего срока действия, который управляет средствами срока действия данного экземпляра.
GetObjectData (унаследовано от FileSystemInfo) Устанавливает объект SerializationInfo с именем файла и дополнительными сведениями об исключении.
GetType (унаследовано от Object) Возвращает Type текущего экземпляра.
InitializeLifetimeService (унаследовано от MarshalByRefObject) Получает служебный объект срока действия, для управления средствами срока действия данного экземпляра.
MoveTo   Перемещает экземпляр DirectoryInfo и его содержимое в другое место.
Refresh (унаследовано от FileSystemInfo) Обновление состояния объекта.
ToString   Переопределен. Возвращает исходный путь, указанный пользователем.

 

Пример использования класса Directorylnfo.

// Создаются два каталога, выводится информация о них

// и предпринимается попытка удаления каталога.

using System;

using System.IO;

class Class1

{

static void DirInfo (DirectoryInfo di)

{

// Вывод информации о каталоге

Console.WriteLine ("===== Информация о папке =====");

Console.WriteLine ("Полное имя: " + di.FullName);

Console.WriteLine ("Имя: " + di.Name);

Console.WriteLine ("Родительский каталог: " + di.Parent);

Console.WriteLine ("Создан: " + di.CreationTime);

Console.WriteLine ("Атрибуты: " + di.Attributes);

Console.WriteLine ("Корневой каталог: " + di.Root);

Console.WriteLine ("===========================");

}

 

static void Main ()

{

DirectoryInfo di1 = new DirectoryInfo (@"c:\MyDir");

DirectoryInfo di2 = new DirectoryInfo (@"c:\MyDir\temp");

try

{ // Создать каталоги

di1.Create ();

di2.Create ();

 

// Вывести информацию о каталогах

DirInfo (di1);

DirInfo (di2);

 

// Попытаться удалить каталог

Console.WriteLine ("Попытка удалить {0}.", di1.Name);

di1.Delete ();

}

catch (Exception)

{

Console.WriteLine ("Попытка не удалась ");

}

}

}

 

Примечание:

di1.Delete ( true); - можно удалить и непустой каталог.

 

FileInfo - класс

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

 

[Serializable]

public sealed class FileInfo : FileSystemInfo

 

Открытые конструкторы

FileInfo - конструктор   Инициализирует новый экземпляр класса FileInfo, действующего в качестве обертки для пути файла.

 

Открытые свойства

Attributes (унаследовано от FileSystemInfo) Возвращает или устанавливает FileAttributes для текущего класса FileSystemInfo.
CreationTime (унаследовано от FileSystemInfo) Возвращает или устанавливает время создания текущего объекта FileSystemInfo.
CreationTimeUtc (унаследовано от FileSystemInfo) Возвращает или устанавливает временя создания текущего объекта FileSystemInfo в формате всеобщего скоординированного времени (UTC).
Directory Возвращает экземпляр родительской папки.
DirectoryName Возвращает строку, описывающую полный путь к папке.
Exists Возвращает значение, показывающее, существует ли файл. Переопределен.
Extension (унаследовано от FileSystemInfo) Возврат строки, содержащей расширение файла.
FullName (унаследовано от FileSystemInfo) Возвращает полный путь к папке или файлу.
LastAccessTime (унаследовано от FileSystemInfo) Возвращает или устанавливает время последнего доступа к текущему файлу или папке.
LastAccessTimeUtc (унаследовано от FileSystemInfo) Возвращает или устанавливает дату и время последнего доступа к заданному файлу или папке в формате всеобщего скоординированного времени (UTC).
LastWriteTime (унаследовано от FileSystemInfo) Возвращает или устанавливает время последней операции записи в текущий файл или папку.
LastWriteTimeUtc (унаследовано от FileSystemInfo) Возвращает или устанавливает время последней операции записи в текущий файл или папку в формате всеобщего скоординированного времени (UTC).
Length Возвращает размер текущего файла.
Name Возвращает имя файла. Переопределен.

 

Открытые методы

AppendText   Создает объект StreamWriter, добавляю­щий текст в файл, описываемый этим экземпляром FileInfo.
CopyTo Перегружен. Копирование существующего файла в новый файл.
Create Создание файла.
CreateObjRef (унаследовано от MarshalByRefObject) Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для коммуникации с удаленными объектами.
CreateText Создание объекта StreamWriter, который записывает новый текстовый файл.
Delete Удаление файла без возможности восстановления. Переопределен.
Equals (унаследовано от Object) Перегружен. Определяет, равны ли два экземпляра Object.
GetHashCode (унаследовано от Object) Служит хеш-функцией для конкретного типа, пригоден для использования в алгоритмах хеширования и структурах данных, например в хеш-таблице.
GetLifetimeService (унаследовано от MarshalByRefObject) Извлекает служебный объект текущего срока действия, который управляет средствами срока действия данного экземпляра.
GetObjectData (унаследовано от FileSystemInfo) Устанавливает объект SerializationInfo с именем файла и дополнительными сведениями об исключении.
GetType (унаследовано от Object) Возвращает Type текущего экземпляра.
InitializeLifetimeService (унаследовано от MarshalByRefObject) Получает служебный объект срока действия, для управления средствами срока действия данного экземпляра.
MoveTo Перемещение заданного файла в новое положение с возможностью задания нового имени файла.
Open Открывается файл с различными правами доступа на чтение-запись и совместное использование. Перегружен.
OpenRead Создает разрешенный только для чтения FileStream.
OpenText   Создает StreamReader с кодировкой UTF-8, который выполняет считывание из существующего текстового файла.
OpenWrite Создает разрешенный только для записи объект FileStream.
Refresh (унаследовано от FileSystemInfo) Обновление состояния объекта.
ToString Переопределен. Возвращает полный путь как строку.

 

Пример.

using System;

using System.IO;

 

class Test

{

public static void Main ()

{

string path = @"c:\temp\MyTest.txt";

 

if ( !File.Exists (path) )

{

// Создать файл для записи и освободить ресурсы

// с помощью Dispose () после выхода из блока using

using (StreamWriter sw = File.CreateText (path))

{

sw.WriteLine ("Hello");

sw.WriteLine ("And");

sw.WriteLine ("Welcome");

}

}

 

// Открыть файл для чтения.

using (StreamReader sr = File.OpenText (path))

{

string s = "";

while ( (s = sr.ReadLine ()) != null)

{

Console.WriteLine (s);

}

}

 

try

{

string path2 = path + "temp";

// Путь к несуществующему файлу. Исключение не возбуждается.

File.Delete (path2);

 

// Копировать файл.

File.Copy (path, path2);

Console.WriteLine ("{0} был скопирован в {1}.", path, path2);

 

// Удалить только что созданный файл.

File.Delete (path2);

Console.WriteLine ("{0} был успешно удален.", path2);

}

catch (Exception e)

{

Console.WriteLine ("ОШИБКА: {0}", e);

}

}

}

 

Тот же пример без оператора using

using System;

using System.IO;

 

class Test

{

public static void Main ()

{

string path = @"c:\temp\MyTest.txt";

 

if (!File.Exists (path))

{

// Создать файл для записи

StreamWriter sw = File.CreateText (path);

sw.WriteLine ("Hello");

sw.WriteLine ("And");

sw.WriteLine ("Welcome");

sw.Close ();

}

 

// Open the file to read from.

StreamReader sr = File.OpenText (path);

string s = "";

while ( (s = sr.ReadLine ()) != null)

{

Console.WriteLine (s);

}

sr.Close ();

 

try

{

string path2 = path + "temp";

// Путь к несуществующему файлу.

File.Delete (path2);

 

// Копировать файл.

File.Copy (path, path2);

Console.WriteLine ("{0} был скопирован в {1}.", path, path2);

 

// Удалить только что созданный файл.

File.Delete (path2);

Console.WriteLine ("{0} был успешно удален.", path2);

}

catch (Exception e)

{

Console.WriteLine ("ОШИБКА: {0}", e);

}

}

}

 



Дата добавления: 2019-02-08; просмотров: 676;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.039 сек.