reckfellENGINE

DirAccess

Открытие каталогов и перечисление файлов с явной обработкой ошибок.

На этой странице
class DirAccessReckfellSharpНаследует RefCounted

Откройте существующий каталог через Open(), проверьте null и сразу GetOpenError(), затем освободите собственный handle через using. Для прогресса игры используйте user://; для импортированных ресурсов — ResourceLoader, а не предположение, что исходный файл доступен в экспортированном проекте.

GetFiles()/GetDirectories() дают отсортированные непосредственные имена, без рекурсии. Для обхода с явным результатом начала используйте ListDirBegin(), GetNext(), CurrentIsDir() и ListDirEnd() в finally при досрочном выходе. Массовое чтение списка использует тот же cursor: не смешивайте способы на одном handle.

IncludeHidden/IncludeNavigational фильтруют перечисление, а не доступ к пути. Static-вызовы списка используют новый handle со стандартными flags. GetOpenError() хранится на потоке и не описывает ошибки ChangeDir() или произвольных файловых операций.

На Windows в отдельном проекте выполнены 25 проверок открытия и чтения каталогов. Экспорт/PCK, другие ОС, права доступа, ссылки, изменение файлов и lifecycle временного каталога не проверены. Эти ограничения относятся к проверке данного раздела, а не к заявлению об отсутствии функций.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Свойства2

IncludeHiddenСвойство
# IncludeHidden
C#
public bool IncludeHidden { get; set; }

Разрешает скрытые записи при перечислении через этот handle; по умолчанию false. Это фильтр списка, не ограничение FileExists/DirExists и не защита доступа. Понятие hidden задаёт backend: Windows использует FILE_ATTRIBUTE_HIDDEN, поэтому одно имя с точкой не является переносимым тестом. Static GetFilesAt/GetDirectoriesAt используют новые стандартные фильтры.

IncludeNavigationalСвойство
# IncludeNavigational
C#
public bool IncludeNavigational { get; set; }

Разрешает навигационные записи . и .. при перечислении через этот handle; по умолчанию false. Не меняет возможность явно вызвать ChangeDir("..") в допустимой области. Не трактуйте такие записи как обычные подкаталоги в своём рекурсивном алгоритме; flags других handle независимы.

Методы42

ChangeDirError
# ChangeDir
C#
public Error ChangeDir(string toDir);

Меняет текущий каталог только этого handle. Относительный путь отсчитывается от GetCurrentDir(); цель должна существовать. Для другой области доступа используйте новый Open(). Проверяйте возвращённый Error; GetOpenError() не обновляется. Windows-проверка подтвердила сохранение прежнего каталога при неудаче.

Параметры
ИмяТипПо умолчанию
toDirstring—
toDir

Существующий каталог относительно текущего пути либо полный путь в поддержанной области доступа.

Возвращает Error

Error.Ok при смене каталога; иной Error при неудаче.

CopyError
# Copy
C#
public Error Copy(string from, string to, int chmodFlags = -1);

Копирует содержимое одного файла через FileAccess. Важное отличие от остальных instance-операций: аргументы передаются FileAccess напрямую, без привязки к текущему каталогу DirAccess; относительный путь может обратиться к другому месту. Используйте полные пути либо CopyAbsolute(). Назначение открывается на запись и перезаписывается; родители не создаются. Не копирует каталог и не гарантирует атомарность или сохранение прежнего файла при ошибке. chmodFlags относится к Unix permissions, не к полному переносу ACL.

Параметры
ИмяТипПо умолчанию
fromstring—
tostring—
chmodFlagsint-1
from

Исходный путь; для Copy передавайте полный путь, не рассчитывайте на текущий каталог handle.

to

Путь назначения; существующий файл может быть перезаписан/удалён. Для Copy используйте полный путь.

chmodFlags

Unix permission bits для нового файла; -1 не меняет их явно. ERR_UNAVAILABLE на платформе без chmod не превращает успешную копию в ошибку.

Возвращает Error

Error результата копирования/permissions; не гарантия атомарного сохранения.

CopyAbsoluteError
# CopyAbsolute
C#
public static Error CopyAbsolute(string from, string to, int chmodFlags = -1);

Копирует содержимое одного файла через FileAccess. Важное отличие от остальных instance-операций: аргументы передаются FileAccess напрямую, без привязки к текущему каталогу DirAccess; относительный путь может обратиться к другому месту. Используйте полные пути либо CopyAbsolute(). Назначение открывается на запись и перезаписывается; родители не создаются. Не копирует каталог и не гарантирует атомарность или сохранение прежнего файла при ошибке. chmodFlags относится к Unix permissions, не к полному переносу ACL. Static-вариант сначала преобразует asset:// и user:// через ProjectSettings.GlobalizePath(); не зависит от текущего каталога другого DirAccess.

Параметры
ИмяТипПо умолчанию
fromstring—
tostring—
chmodFlagsint-1
from

Исходный путь; для Copy передавайте полный путь, не рассчитывайте на текущий каталог handle.

to

Путь назначения; существующий файл может быть перезаписан/удалён. Для Copy используйте полный путь.

chmodFlags

Unix permission bits для нового файла; -1 не меняет их явно. ERR_UNAVAILABLE на платформе без chmod не превращает успешную копию в ошибку.

Возвращает Error

Error результата копирования/permissions; не гарантия атомарного сохранения.

CreateLinkError
# CreateLink
C#
public Error CreateLink(string source, string target);

Создаёт символическую ссылку по target, указывающую на source: target — имя новой ссылки, а не путь назначения копирования. Не копирует содержимое и не создаёт родителей. Windows передаёт запрос ОС с флагом unprivileged create, но успех всё равно зависит от окружения/прав; проверяйте Error. Не считайте наличие source гарантией создания или доступности ссылки. Реальное создание ссылок не выполнялось.

Параметры
ИмяТипПо умолчанию
sourcestring—
targetstring—
source

Путь, на который должна указывать новая ссылка; не содержимое для копирования.

target

Путь создаваемой ссылки; её родитель должен существовать.

Возвращает Error

Error.Ok при создании ссылки либо ошибка ОС/backend.

CreateTempDirAccess
# CreateTemp
C#
public static DirAccess CreateTemp(string prefix = "", bool keep = false);

Создаёт каталог в OS temp и возвращает собственный RefCounted handle. prefix — часть имени, не путь. При null сразу читайте GetOpenError() на том же потоке. При keep=false освобождение последней native-ссылки пытается рекурсивно удалить исходный временный каталог; ChangeDir() не переносит цель очистки. Это попытка, не гарантия удаления при сбое/завершении процесса. keep=true сохраняет каталог после освобождения. C# using освобождает собственную ссылку; другие владельцы могут продлить срок жизни. Lifecycle здесь сверён только по исходникам.

Параметры
ИмяТипПо умолчанию
prefixstring""
keepboolfalse
prefix

Допустимый префикс имени каталога без разделителей пути; пустая строка разрешена.

keep

True сохраняет исходный temp-каталог после освобождения handle; false включает попытку очистки последней native-ссылкой.

Возвращает DirAccess

Собственный временный DirAccess либо null; ошибка доступна через GetOpenError().

CurrentIsDirbool
# CurrentIsDir
C#
public bool CurrentIsDir();

Определяет тип последней непустой записи, полученной GetNext(). Вызывайте сразу после GetNext(), до следующего чтения. Это не проверка произвольного пути; до первого чтения и после завершения не используйте значение как сведения о существующем файле.

Возвращает bool

True для каталога последней возвращённой записи; false для файла.

DirExistsbool
# DirExists
C#
public bool DirExists(string path);

Проверяет существование каталога относительно текущего каталога handle либо по допустимому абсолютному пути. IncludeHidden/IncludeNavigational не ограничивают эту проверку. Файл не считается каталогом; проверка не создаёт путь и не гарантирует будущий доступ при изменении файловой системы.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь к каталогу; для static-вызова используйте полный путь либо asset:// или user://. Относительный путь отсчитывается от текущего каталога handle.

Возвращает bool

True, если backend видит каталог; обычный файл даёт false.

DirExistsAbsolutebool
# DirExistsAbsolute
C#
public static bool DirExistsAbsolute(string path);

Проверяет каталог через новый внутренний handle, выбирая тип доступа по префиксу пути. Передавайте полный OS path либо asset:// или user://, чтобы не зависеть от текущего OS working directory. Не создаёт путь и не подтверждает право записи.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь к каталогу; для static-вызова используйте полный путь либо asset:// или user://.

Возвращает bool

True для доступного backend каталога; false не является подробным кодом ошибки.

FileExistsbool
# FileExists
C#
public bool FileExists(string path);

Проверяет наличие файла по пути относительно текущего каталога либо по допустимому абсолютному пути. Каталог не считается файлом. IncludeHidden не влияет на эту проверку. False не различает отсутствие и недоступность; true не гарантирует, что следующий Open() удастся, и не заменяет ResourceLoader для импортированных ресурсов.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь к проверяемому файлу. Относительный путь отсчитывается от текущего каталога handle.

Возвращает bool

True, если backend видит файл по этому пути; каталог даёт false.

GetCurrentDirstring
# GetCurrentDir
C#
public string GetCurrentDir(bool includeDrive = true);

Путь текущего каталога данного handle. В области ресурсов/данных сохраняет префикс asset:// или user://, а не обязательно выдаёт OS path. includeDrive=false относится к отображению имени диска; не превращает путь в относительный путь проекта.

Параметры
ИмяТипПо умолчанию
includeDrivebooltrue
includeDrive

Показывать имя диска в файловом пути, если backend поддерживает эту форму; по умолчанию true.

Возвращает string

Текущий путь handle; может содержать asset:// или user://.

GetCurrentDriveint
# GetCurrentDrive
C#
public int GetCurrentDrive();

Индекс для текущего пути handle в списке дисков backend. Базовый алгоритм ищет префикс пути и возвращает 0, если совпадения нет. Поэтому для asset:// на проверенном Windows получен 0: это не надёжное определение физического тома проекта. Для физического пути откройте отдельный filesystem handle и обработайте изменения списка.

Возвращает int

Индекс backend; 0 может быть fallback при отсутствии совпадения пути.

GetDirectoriesstring[]
# GetDirectories
C#
public string[] GetDirectories();

Возвращает отсортированные имена непосредственных подкаталогов, не рекурсивное дерево. Учитывает IncludeHidden и IncludeNavigational: при разрешённой навигации возможны . и ... Использует и потребляет тот же cursor, что GetNext(); пустой массив не является отдельным кодом успешного перечисления.

Возвращает string[]

Новый C# string[] с отсортированными именами каталогов с учётом flags.

GetDirectoriesAtstring[]
# GetDirectoriesAt
C#
public static string[] GetDirectoriesAt(string path);

Получает отсортированные имена непосредственных подкаталогов через новый внутренний handle со стандартными фильтрами. Не наследует настройки навигации/скрытых записей другого handle. При ошибке открытия возвращает пустой массив с диагностикой; для явной обработки ошибки сначала вызовите Open().

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь к каталогу; для static-вызова используйте полный путь либо asset:// или user://.

Возвращает string[]

Отсортированные имена подкаталогов; пустой массив также возможен при ошибке.

GetDriveCountint
# GetDriveCount
C#
public static int GetDriveCount();

Число дисков/точек входа, перечисляемых backend ОС. В Windows это логические диски с буквами, а не количество физических накопителей. Список может измениться между вызовами; индекс не является постоянным ID диска. Наличие в списке не подтверждает готовность носителя или право записи.

Возвращает int

Число записей текущего списка backend; не число физических дисков.

GetDriveLabelstring
# GetDriveLabel
C#
public static string GetDriveLabel(int idx);

Отображаемая метка тома, не путь и не уникальный ID. В Windows она может быть пустой; для сетевого диска backend использует строку <network>. Базовая реализация других backend также может вернуть пустую строку. Не строит путь для Open(); для него нужно GetDriveName().

Параметры
ИмяТипПо умолчанию
idxint—
idx

Индекс от 0 до GetDriveCount()-1; не постоянный ID. Обработайте изменение списка между вызовами.

Возвращает string

Метка тома, пустая строка или платформенная подпись; не путь.

GetDriveNamestring
# GetDriveName
C#
public static string GetDriveName(int idx);

Имя/путь элемента списка ОС по индексу. В Windows имеет вид C:, а не пользовательскую метку тома. Для подписи интерфейса используйте отдельно GetDriveLabel(). Получите актуальный GetDriveCount() и обработайте пустую строку; счётчик и чтение имени не образуют атомарный снимок.

Параметры
ИмяТипПо умолчанию
idxint—
idx

Индекс от 0 до GetDriveCount()-1; не постоянный ID. Обработайте изменение списка между вызовами.

Возвращает string

Имя/путь по индексу либо пустая строка; в Windows имя вида C:.

GetFilesstring[]
# GetFiles
C#
public string[] GetFiles();

Возвращает отсортированные имена непосредственных файлов текущего каталога, без рекурсии и полного пути. Учитывает IncludeHidden. Начинает и потребляет тот же cursor, что GetNext(); параллельный ручной обход на этом handle прерывается. Пустой массив не различает пустой каталог и ошибку начала перечисления; для явного Error используйте ListDirBegin().

Возвращает string[]

Новый C# string[] с отсортированными именами файлов; не рекурсивный список.

GetFilesAtstring[]
# GetFilesAt
C#
public static string[] GetFilesAt(string path);

Открывает новый внутренний handle и получает отсортированные имена непосредственных файлов. Использует стандартные фильтры нового handle: не наследует IncludeHidden существующего экземпляра. При ошибке открытия пишет диагностику и возвращает пустой массив; это не основание считать каталог пустым или обращаться к GetOpenError() как результату этой операции.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь к каталогу; для static-вызова используйте полный путь либо asset:// или user://.

Возвращает string[]

Отсортированные имена файлов; пустой массив также возможен при ошибке.

GetFilesystemTypestring
# GetFilesystemType
C#
public string GetFilesystemType();

Строковое описание файловой системы текущего каталога, например NTFS; это не стабильный enum возможностей. Windows возвращает Network Share для сетевого пути, а при неудаче возможна пустая строка. Не выводите из имени поддержку прав, atomic rename, регистрозависимость или скорость: нужную операцию проверяйте отдельно.

Возвращает string

Описание типа файловой системы либо пустая строка при недоступном результате.

GetIncludeHiddenbool
# GetIncludeHidden
C#
public bool GetIncludeHidden();

Разрешает скрытые записи при перечислении через этот handle; по умолчанию false. Это фильтр списка, не ограничение FileExists/DirExists и не защита доступа. Понятие hidden задаёт backend: Windows использует FILE_ATTRIBUTE_HIDDEN, поэтому одно имя с точкой не является переносимым тестом. Static GetFilesAt/GetDirectoriesAt используют новые стандартные фильтры.

Возвращает bool

Текущее значение IncludeHidden данного handle.

GetIncludeNavigationalbool
# GetIncludeNavigational
C#
public bool GetIncludeNavigational();

Разрешает навигационные записи . и .. при перечислении через этот handle; по умолчанию false. Не меняет возможность явно вызвать ChangeDir("..") в допустимой области. Не трактуйте такие записи как обычные подкаталоги в своём рекурсивном алгоритме; flags других handle независимы.

Возвращает bool

Текущее значение IncludeNavigational данного handle.

GetNextstring
# GetNext
C#
public string GetNext();

Возвращает имя следующей непосредственной записи, не полный путь. Пустая строка завершает обход; порядок не гарантирован. IncludeHidden/IncludeNavigational фильтруют результат. CurrentIsDir() относится к только что возвращённой непустой записи. При досрочном выходе вызовите ListDirEnd().

Возвращает string

Непустое имя записи либо пустая строка в конце обхода.

GetOpenErrorError
# GetOpenError
C#
public static Error GetOpenError();

Последний результат Open()/CreateTemp() на текущем потоке, а не общая ошибка файловой системы. Следующий вызов перезаписывает его. Не диагностируйте этим getter ошибки ChangeDir(), чтения списка, Copy() или Remove(): проверяйте результат конкретной операции.

Возвращает Error

Error последнего Open/CreateTemp на этом потоке; следующий такой вызов его заменит.

GetSpaceLeftulong
# GetSpaceLeft
C#
public ulong GetSpaceLeft();

Доступные вызывающему свободные байты на файловой системе текущего каталога, не общий размер диска. Windows читает available bytes через GetDiskFreeSpaceExW; Unix использует f_bavail. Значение может измениться сразу после проверки и не резервирует место. Ноль также возвращается при ошибке запроса; отдельного Error этот метод не даёт.

Возвращает ulong

Доступные байты; 0 также может означать ошибку запроса.

IsBundlebool
# IsBundle
C#
public bool IsBundle(string path);

Определяет файловый пакет там, где backend поддерживает это понятие; macOS использует системную проверку file package. Базовая реализация возвращает false, в том числе для проверенного Windows backend. Это не проверка .pck, префаба, архива ассетов или возможности загрузки через ResourceLoader.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь к проверяемому объекту; для переносимости используйте полный OS path или подходящий virtual path handle.

Возвращает bool

True для распознанного backend файлового пакета; иначе false.

IsCaseSensitivebool
# IsCaseSensitive
C#
public bool IsCaseSensitive(string path);

Спрашивает backend о различении регистра для пути/каталога. В Windows проверяется per-directory flag, в macOS — свойство тома; поведение зависит от платформы. False не различает нечувствительность к регистру и неудачный запрос: отсутствующий путь на Windows даёт false. Не используйте как доказательство существования или доступа.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь к проверяемому объекту; для переносимости используйте полный OS path или подходящий virtual path handle.

Возвращает bool

Ответ backend; false не подтверждает успешное определение режима.

IsEquivalentbool
# IsEquivalent
C#
public bool IsEquivalent(string pathA, string pathB);

Сравнивает идентичность файлов через backend, но при невозможности получить сведения может перейти к буквальному равенству исходных строк. Поэтому одинаковые отсутствующие пути дают true; это не проверка существования. Windows использует file ID и том, Unix — device/inode. Для переносимого вызова передавайте полные пути: текущая Unix-реализация не привязывает относительные аргументы к каталогу handle. Права доступа и сохранение идентичности после вызова не гарантируются.

Параметры
ИмяТипПо умолчанию
pathAstring—
pathBstring—
pathA

Первый полный путь для сравнения; не считайте его существующим без отдельной проверки.

pathB

Второй полный путь для сравнения; одинаковые строки могут совпасть через fallback даже без файла.

Возвращает bool

Результат file-identity сравнения либо равенства строк при fallback.

IsLinkbool
# IsLink
C#
public bool IsLink(string path);

Проверяет специальный тип записи: Windows определяет FILE_ATTRIBUTE_REPARSE_POINT, Unix — symlink. Windows true поэтому не означает только обычную символическую ссылку. False также возможен для отсутствующего/недоступного пути; метод не возвращает подробный Error и не подтверждает безопасность дальнейшего обхода.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь к проверяемому объекту; для переносимости используйте полный OS path или подходящий virtual path handle.

Возвращает bool

Результат проверки reparse point/symlink; false также возможен при неудаче.

ListDirBeginError
# ListDirBegin
C#
public Error ListDirBegin();

Начинает обход текущего каталога, сбрасывая прежний cursor этого handle. Проверяйте Error до GetNext(). Не запускайте GetFiles()/GetDirectories() на том же handle посреди обхода: они начинают и потребляют собственное перечисление на том же cursor.

Возвращает Error

Error.Ok при начале обхода; иначе не продолжайте GetNext().

ListDirEndvoid
# ListDirEnd
C#
public void ListDirEnd();

Закрывает текущий обход этого handle. Используйте при досрочном выходе, в том числе через finally; следующий ListDirBegin() начинает новый обход. Не закрывает сам DirAccess и не меняет текущий каталог.

MakeDirError
# MakeDir
C#
public Error MakeDir(string path);

Создаёт один каталог. Относительный путь instance-метода считается от текущего каталога handle; отсутствующие родители не создаются. Проверяйте Error: существующая папка обычно даёт AlreadyExists. В Windows AccessDenied также может отображаться как AlreadyExists, поэтому этот код не доказывает наличие каталога; отдельно проверяйте DirExists(). Не меняет текущий каталог.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь каталога для создания либо файла/пустого каталога для Remove. Для static-вызова используйте полный OS path или virtual path.

Возвращает Error

Error.Ok при создании; AlreadyExists/иной Error требует проверки фактического каталога.

MakeDirAbsoluteError
# MakeDirAbsolute
C#
public static Error MakeDirAbsolute(string path);

Создаёт один каталог. Относительный путь instance-метода считается от текущего каталога handle; отсутствующие родители не создаются. Проверяйте Error: существующая папка обычно даёт AlreadyExists. В Windows AccessDenied также может отображаться как AlreadyExists, поэтому этот код не доказывает наличие каталога; отдельно проверяйте DirExists(). Не меняет текущий каталог. Static-вариант создаёт внутренний handle по префиксу пути; передавайте полный OS path либо asset:// или user://, без зависимости от OS working directory.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь каталога для создания либо файла/пустого каталога для Remove. Для static-вызова используйте полный OS path или virtual path.

Возвращает Error

Error.Ok при создании; AlreadyExists/иной Error требует проверки фактического каталога.

MakeDirRecursiveError
# MakeDirRecursive
C#
public Error MakeDirRecursive(string path);

Создаёт промежуточные каталоги по пути, пропуская AlreadyExists. Не является транзакцией: созданные родители при последующей ошибке остаются. Пустой путь даёт Ok без действий. В текущей 1.0.0 файл на конечном пути также может дать Ok без создания каталога; это воспроизведено. Если нужен именно каталог, дополнительно проверьте DirExists().

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь каталога для создания либо файла/пустого каталога для Remove. Для static-вызова используйте полный OS path или virtual path.

Возвращает Error

Error.Ok также возможен для пустого пути или файла на конечном пути; при ошибке часть родителей может остаться.

MakeDirRecursiveAbsoluteError
# MakeDirRecursiveAbsolute
C#
public static Error MakeDirRecursiveAbsolute(string path);

Создаёт промежуточные каталоги по пути, пропуская AlreadyExists. Не является транзакцией: созданные родители при последующей ошибке остаются. Пустой путь даёт Ok без действий. В текущей 1.0.0 файл на конечном пути также может дать Ok без создания каталога; это воспроизведено. Если нужен именно каталог, дополнительно проверьте DirExists(). Static-вариант создаёт внутренний handle по префиксу пути; передавайте полный OS path либо asset:// или user://, без зависимости от OS working directory.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь каталога для создания либо файла/пустого каталога для Remove. Для static-вызова используйте полный OS path или virtual path.

Возвращает Error

Error.Ok также возможен для пустого пути или файла на конечном пути; при ошибке часть родителей может остаться.

OpenDirAccess
# Open
C#
public static DirAccess Open(string path);

Открывает существующий каталог и возвращает собственный RefCounted handle; в C# ограничивайте срок жизни через using. Не создаёт каталог. При null сразу прочитайте GetOpenError() на том же потоке. Для смены области asset://, user:// или файловой системы открывайте отдельный handle. Доступность путей зависит от ОС и экспорта.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Существующий каталог: asset://, user:// или допустимый OS path; не имя файла.

Возвращает DirAccess

Собственный DirAccess либо null; сразу проверяйте GetOpenError().

ReadLinkstring
# ReadLink
C#
public string ReadLink(string path);

Поведение различается по платформам. Windows получает финальный OS path открытого объекта и может вернуть путь даже для обычного файла; если открыть объект не удалось, возвращает исправленный входной путь, который тоже может быть непустым. Unix читает текст назначения symlink; результат может быть относительным, при неудаче пустым. Непустая строка не доказывает наличие ссылки, успех разрешения или существование цели. Реальные symlink/junction в этом проходе не проверены.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь к проверяемому объекту; для переносимости используйте полный OS path или подходящий virtual path handle.

Возвращает string

Платформенный путь/текст назначения; не единый индикатор успешного разрешения ссылки.

RemoveError
# Remove
C#
public Error Remove(string path);

Удаляет файл или пустой каталог непосредственно, не отправляет в корзину. Не является рекурсивным удалением: непустой каталог на проверенном Windows остаётся и даёт ошибку. Относительный путь instance-метода относится к текущему каталогу handle. Проверяйте Error, а не GetOpenError(); отсутствие пути тоже может дать ошибку. Поведение ссылок зависит от backend; реальные ссылки в этом проходе не проверялись.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь каталога для создания либо файла/пустого каталога для Remove. Для static-вызова используйте полный OS path или virtual path.

Возвращает Error

Error.Ok при удалении; иной Error не сообщает подробную причину через GetOpenError().

RemoveAbsoluteError
# RemoveAbsolute
C#
public static Error RemoveAbsolute(string path);

Удаляет файл или пустой каталог непосредственно, не отправляет в корзину. Не является рекурсивным удалением: непустой каталог на проверенном Windows остаётся и даёт ошибку. Относительный путь instance-метода относится к текущему каталогу handle. Проверяйте Error, а не GetOpenError(); отсутствие пути тоже может дать ошибку. Поведение ссылок зависит от backend; реальные ссылки в этом проходе не проверялись. Static-вариант создаёт внутренний handle по префиксу пути; передавайте полный OS path либо asset:// или user://, без зависимости от OS working directory.

Параметры
ИмяТипПо умолчанию
pathstring—
path

Путь каталога для создания либо файла/пустого каталога для Remove. Для static-вызова используйте полный OS path или virtual path.

Возвращает Error

Error.Ok при удалении; иной Error не сообщает подробную причину через GetOpenError().

RenameError
# Rename
C#
public Error Rename(string from, string to);

Переименовывает/перемещает файл или каталог; относительные пути instance-метода относятся к текущему каталогу handle. Критично для Windows 1.0.0: перед перемещением удаляет существующий файл назначения. Если источник отсутствует, метод может удалить назначение и вернуть ошибку; дефект воспроизведён на одноразовых файлах. Не используйте замену существующего файла как безопасную транзакцию сохранения. Unix cross-device fallback выполняет copy/remove, тоже без гарантии атомарности. Движок здесь не исправлялся.

Параметры
ИмяТипПо умолчанию
fromstring—
tostring—
from

Исходный путь; для Copy передавайте полный путь, не рассчитывайте на текущий каталог handle.

to

Путь назначения; существующий файл может быть перезаписан/удалён. Для Copy используйте полный путь.

Возвращает Error

Error результата; ошибка Windows не гарантирует сохранность существовавшего назначения.

RenameAbsoluteError
# RenameAbsolute
C#
public static Error RenameAbsolute(string from, string to);

Переименовывает/перемещает файл или каталог; относительные пути instance-метода относятся к текущему каталогу handle. Критично для Windows 1.0.0: перед перемещением удаляет существующий файл назначения. Если источник отсутствует, метод может удалить назначение и вернуть ошибку; дефект воспроизведён на одноразовых файлах. Не используйте замену существующего файла как безопасную транзакцию сохранения. Unix cross-device fallback выполняет copy/remove, тоже без гарантии атомарности. Движок здесь не исправлялся. Static-вариант преобразует оба пути через GlobalizePath(), но сохраняет указанный дефект Windows; слово Absolute не означает безопасную замену.

Параметры
ИмяТипПо умолчанию
fromstring—
tostring—
from

Исходный путь; для Copy передавайте полный путь, не рассчитывайте на текущий каталог handle.

to

Путь назначения; существующий файл может быть перезаписан/удалён. Для Copy используйте полный путь.

Возвращает Error

Error результата; ошибка Windows не гарантирует сохранность существовавшего назначения.

SetIncludeHiddenvoid
# SetIncludeHidden
C#
public void SetIncludeHidden(bool enable);

Разрешает скрытые записи при перечислении через этот handle; по умолчанию false. Это фильтр списка, не ограничение FileExists/DirExists и не защита доступа. Понятие hidden задаёт backend: Windows использует FILE_ATTRIBUTE_HIDDEN, поэтому одно имя с точкой не является переносимым тестом. Static GetFilesAt/GetDirectoriesAt используют новые стандартные фильтры.

Параметры
ИмяТипПо умолчанию
enablebool—
enable

True включает скрытые записи в списке этого handle; false исключает.

SetIncludeNavigationalvoid
# SetIncludeNavigational
C#
public void SetIncludeNavigational(bool enable);

Разрешает навигационные записи . и .. при перечислении через этот handle; по умолчанию false. Не меняет возможность явно вызвать ChangeDir("..") в допустимой области. Не трактуйте такие записи как обычные подкаталоги в своём рекурсивном алгоритме; flags других handle независимы.

Параметры
ИмяТипПо умолчанию
enablebool—
enable

True разрешает . и .. в списке этого handle; false исключает.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.