System::IO::Directory класс

Directory class

Содержит методы для работы с каталогами. Это статический тип без экземплярных сервисов. Вы никогда не должны создавать его экземпляры никакими способами.

class Directory

Методы

МетодОписание
static CreateDirectory_(const String&)Создаёт все каталоги в указанном пути, если они не существуют.
static Delete(const String&, bool)Удаляет указанный файл или каталог. Не генерирует исключения.
static EnumerateDirectories(const String&, const String&, SearchOption)Ищет каталоги, соответствующие указанным критериям поиска, либо в указанном каталоге, либо во всём дереве каталогов, корнем которого является указанный каталог.
static EnumerateFiles(const String&, const String&, SearchOption)Ищет файлы, соответствующие указанным критериям поиска, либо в указанном каталоге, либо во всём дереве каталогов, корнем которого является указанный каталог.
static EnumerateFileSystemEntries(const String&, const String&, SearchOption)Ищет файлы и каталоги, соответствующие указанным критериям поиска, либо в указанном каталоге, либо во всём дереве каталогов, корнем которого является указанный каталог.
static Exists(const String&)Определяет, указывает ли указанный путь на существующий каталог.
static GetCreationTime(const String&)Возвращает время создания указанной сущности в локальном времени.
static GetCreationTimeUtc(const String&)Возвращает время создания указанной сущности в UTC.
static GetCurrentDirectory()Возвращает полное имя (включая путь) текущего каталога.
static GetDirectories(const String&, const String&, SearchOption)Ищет каталоги, соответствующие указанным критериям поиска, либо в указанном каталоге, либо во всём дереве каталогов, корнем которого является указанный каталог.
static GetDirectoryRoot(const String&)Возвращает корневой каталог указанного пути.
static GetFiles(const String&, const String&, SearchOption)Ищет файлы, соответствующие указанным критериям поиска, либо в указанном каталоге, либо во всём дереве каталогов, корнем которого является указанный каталог.
static GetFileSystemEntries(const String&, const String&, SearchOption)Ищет файлы и каталоги, соответствующие указанным критериям поиска, либо в указанном каталоге, либо во всём дереве каталогов, корнем которого является указанный каталог.
static GetLastAccessTime(const String&)Возвращает время последнего доступа к указанной сущности в локальном времени.
static GetLastAccessTimeUtc(const String&)Возвращает время последнего доступа к указанной сущности в UTC.
static GetLastWriteTime(const String&)Возвращает время последней записи указанного объекта в локальном времени.
static GetLastWriteTimeUtc(const String&)Возвращает время последней записи указанного объекта в формате UTC.
static GetLogicalDrives()НЕ РЕАЛИЗОВАНО.
static GetParent(const String&)Возвращает умный указатель (shared pointer) на объект DirectoryInfo, представляющий родительский каталог указанной сущности.
static Move(const String&, const String&)Перемещает указанную сущность в новое место. Если перемещаемая сущность является каталогом, она перемещается со всем её содержимым.
static SetCreationTime(const String&, DateTime)Устанавливает время создания указанной сущности как локальное время.
static SetCreationTimeUtc(const String&, DateTime)Устанавливает время создания указанной сущности как время UTC.
static SetCurrentDirectory(const String&)Устанавливает текущий каталог.
static SetLastAccessTime(const String&, DateTime)Устанавливает время последнего доступа к указанному объекту как локальное время.
static SetLastAccessTimeUtc(const String&, DateTime)Устанавливает время последнего доступа к указанному объекту как время UTC.
static SetLastWriteTime(const String&, DateTime)Устанавливает время последней записи указанного объекта в локальном времени.
static SetLastWriteTimeUtc(const String&, DateTime)Устанавливает время последней записи указанного объекта в формате UTC.

Typedefs

Определение типаОписание
StringEnumerablePtrПсевдоним для умного указателя на объект IEnumerable, который перечисляет набор объектов String.

Примечания

#include "system/io/directory.h"
#include "system/io/path.h"
#include "system/string.h"
#include <iostream>

void PrintMessage(const System::String &path)
{
  std::cout << "Directory '" << path << (System::IO::Directory::Exists(path) ? "' exists." : "' doesn't exist.") << std::endl;
}

int main()
{
  // Создавайте строки, содержащие пути к каталогам.
  System::String discPath(u"C:\\");
  System::String directoryPath(u"C:\\Some directory");
  auto tempPath = System::IO::Path::GetTempPath();

  // Проверьте, существуют ли каталоги.
  PrintMessage(discPath);
  PrintMessage(directoryPath);
  PrintMessage(tempPath);

  // Выведите информацию о временном каталоге.
  std::cout <<
    "Creation Time: " << System::IO::Directory::GetCreationTime(tempPath) << std::endl <<
    "Last Access Time: " << System::IO::Directory::GetLastAccessTime(tempPath) << std::endl <<
    "Last Write Time: " << System::IO::Directory::GetLastWriteTime(tempPath) << std::endl;

  return 0;
}
/*
This code example produces the following output:
Directory 'C:\' exists.
Directory 'C:\Some directory' doesn't exist.
Directory 'C:\Users\lanor\AppData\Local\Temp\' exists.
Creation Time: 27.08.2021 14:21:42
Last Access Time: 07.10.2021 12:16:41
Last Write Time: 07.10.2021 12:16:41
*/

См. также