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; просмотров: 692;