DirAccess
Открытие каталогов и перечисление файлов с явной обработкой ошибок.
Откройте существующий каталог через 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
public bool IncludeHidden { get; set; }Разрешает скрытые записи при перечислении через этот handle; по умолчанию false. Это фильтр списка, не ограничение FileExists/DirExists и не защита доступа. Понятие hidden задаёт backend: Windows использует FILE_ATTRIBUTE_HIDDEN, поэтому одно имя с точкой не является переносимым тестом. Static GetFilesAt/GetDirectoriesAt используют новые стандартные фильтры.
IncludeNavigationalСвойство
public bool IncludeNavigational { get; set; }Разрешает навигационные записи . и .. при перечислении через этот handle; по умолчанию false. Не меняет возможность явно вызвать ChangeDir("..") в допустимой области. Не трактуйте такие записи как обычные подкаталоги в своём рекурсивном алгоритме; flags других handle независимы.
Методы42
ChangeDirError
public Error ChangeDir(string toDir);Меняет текущий каталог только этого handle. Относительный путь отсчитывается от GetCurrentDir(); цель должна существовать. Для другой области доступа используйте новый Open(). Проверяйте возвращённый Error; GetOpenError() не обновляется. Windows-проверка подтвердила сохранение прежнего каталога при неудаче.
| Имя | Тип | По умолчанию |
|---|---|---|
toDir | string | — |
toDirСуществующий каталог относительно текущего пути либо полный путь в поддержанной области доступа.
ErrorError.Ok при смене каталога; иной Error при неудаче.
CopyError
public Error Copy(string from, string to, int chmodFlags = -1);Копирует содержимое одного файла через FileAccess. Важное отличие от остальных instance-операций: аргументы передаются FileAccess напрямую, без привязки к текущему каталогу DirAccess; относительный путь может обратиться к другому месту. Используйте полные пути либо CopyAbsolute(). Назначение открывается на запись и перезаписывается; родители не создаются. Не копирует каталог и не гарантирует атомарность или сохранение прежнего файла при ошибке. chmodFlags относится к Unix permissions, не к полному переносу ACL.
| Имя | Тип | По умолчанию |
|---|---|---|
from | string | — |
to | string | — |
chmodFlags | int | -1 |
fromИсходный путь; для Copy передавайте полный путь, не рассчитывайте на текущий каталог handle.
toПуть назначения; существующий файл может быть перезаписан/удалён. Для Copy используйте полный путь.
chmodFlagsUnix permission bits для нового файла; -1 не меняет их явно. ERR_UNAVAILABLE на платформе без chmod не превращает успешную копию в ошибку.
ErrorError результата копирования/permissions; не гарантия атомарного сохранения.
CopyAbsoluteError
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.
| Имя | Тип | По умолчанию |
|---|---|---|
from | string | — |
to | string | — |
chmodFlags | int | -1 |
fromИсходный путь; для Copy передавайте полный путь, не рассчитывайте на текущий каталог handle.
toПуть назначения; существующий файл может быть перезаписан/удалён. Для Copy используйте полный путь.
chmodFlagsUnix permission bits для нового файла; -1 не меняет их явно. ERR_UNAVAILABLE на платформе без chmod не превращает успешную копию в ошибку.
ErrorError результата копирования/permissions; не гарантия атомарного сохранения.
CreateLinkError
public Error CreateLink(string source, string target);Создаёт символическую ссылку по target, указывающую на source: target — имя новой ссылки, а не путь назначения копирования. Не копирует содержимое и не создаёт родителей. Windows передаёт запрос ОС с флагом unprivileged create, но успех всё равно зависит от окружения/прав; проверяйте Error. Не считайте наличие source гарантией создания или доступности ссылки. Реальное создание ссылок не выполнялось.
| Имя | Тип | По умолчанию |
|---|---|---|
source | string | — |
target | string | — |
sourceПуть, на который должна указывать новая ссылка; не содержимое для копирования.
targetПуть создаваемой ссылки; её родитель должен существовать.
ErrorError.Ok при создании ссылки либо ошибка ОС/backend.
CreateTempDirAccess
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 здесь сверён только по исходникам.
| Имя | Тип | По умолчанию |
|---|---|---|
prefix | string | "" |
keep | bool | false |
prefixДопустимый префикс имени каталога без разделителей пути; пустая строка разрешена.
keepTrue сохраняет исходный temp-каталог после освобождения handle; false включает попытку очистки последней native-ссылкой.
DirAccessСобственный временный DirAccess либо null; ошибка доступна через GetOpenError().
CurrentIsDirbool
public bool CurrentIsDir();Определяет тип последней непустой записи, полученной GetNext(). Вызывайте сразу после GetNext(), до следующего чтения. Это не проверка произвольного пути; до первого чтения и после завершения не используйте значение как сведения о существующем файле.
boolTrue для каталога последней возвращённой записи; false для файла.
DirExistsbool
public bool DirExists(string path);Проверяет существование каталога относительно текущего каталога handle либо по допустимому абсолютному пути. IncludeHidden/IncludeNavigational не ограничивают эту проверку. Файл не считается каталогом; проверка не создаёт путь и не гарантирует будущий доступ при изменении файловой системы.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть к каталогу; для static-вызова используйте полный путь либо asset:// или user://. Относительный путь отсчитывается от текущего каталога handle.
boolTrue, если backend видит каталог; обычный файл даёт false.
DirExistsAbsolutebool
public static bool DirExistsAbsolute(string path);Проверяет каталог через новый внутренний handle, выбирая тип доступа по префиксу пути. Передавайте полный OS path либо asset:// или user://, чтобы не зависеть от текущего OS working directory. Не создаёт путь и не подтверждает право записи.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть к каталогу; для static-вызова используйте полный путь либо asset:// или user://.
boolTrue для доступного backend каталога; false не является подробным кодом ошибки.
FileExistsbool
public bool FileExists(string path);Проверяет наличие файла по пути относительно текущего каталога либо по допустимому абсолютному пути. Каталог не считается файлом. IncludeHidden не влияет на эту проверку. False не различает отсутствие и недоступность; true не гарантирует, что следующий Open() удастся, и не заменяет ResourceLoader для импортированных ресурсов.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть к проверяемому файлу. Относительный путь отсчитывается от текущего каталога handle.
boolTrue, если backend видит файл по этому пути; каталог даёт false.
GetCurrentDirstring
public string GetCurrentDir(bool includeDrive = true);Путь текущего каталога данного handle. В области ресурсов/данных сохраняет префикс asset:// или user://, а не обязательно выдаёт OS path. includeDrive=false относится к отображению имени диска; не превращает путь в относительный путь проекта.
| Имя | Тип | По умолчанию |
|---|---|---|
includeDrive | bool | true |
includeDriveПоказывать имя диска в файловом пути, если backend поддерживает эту форму; по умолчанию true.
stringТекущий путь handle; может содержать asset:// или user://.
GetCurrentDriveint
public int GetCurrentDrive();Индекс для текущего пути handle в списке дисков backend. Базовый алгоритм ищет префикс пути и возвращает 0, если совпадения нет. Поэтому для asset:// на проверенном Windows получен 0: это не надёжное определение физического тома проекта. Для физического пути откройте отдельный filesystem handle и обработайте изменения списка.
intИндекс backend; 0 может быть fallback при отсутствии совпадения пути.
GetDirectoriesstring[]
public string[] GetDirectories();Возвращает отсортированные имена непосредственных подкаталогов, не рекурсивное дерево. Учитывает IncludeHidden и IncludeNavigational: при разрешённой навигации возможны . и ... Использует и потребляет тот же cursor, что GetNext(); пустой массив не является отдельным кодом успешного перечисления.
string[]Новый C# string[] с отсортированными именами каталогов с учётом flags.
GetDirectoriesAtstring[]
public static string[] GetDirectoriesAt(string path);Получает отсортированные имена непосредственных подкаталогов через новый внутренний handle со стандартными фильтрами. Не наследует настройки навигации/скрытых записей другого handle. При ошибке открытия возвращает пустой массив с диагностикой; для явной обработки ошибки сначала вызовите Open().
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть к каталогу; для static-вызова используйте полный путь либо asset:// или user://.
string[]Отсортированные имена подкаталогов; пустой массив также возможен при ошибке.
GetDriveCountint
public static int GetDriveCount();Число дисков/точек входа, перечисляемых backend ОС. В Windows это логические диски с буквами, а не количество физических накопителей. Список может измениться между вызовами; индекс не является постоянным ID диска. Наличие в списке не подтверждает готовность носителя или право записи.
intЧисло записей текущего списка backend; не число физических дисков.
GetDriveLabelstring
public static string GetDriveLabel(int idx);Отображаемая метка тома, не путь и не уникальный ID. В Windows она может быть пустой; для сетевого диска backend использует строку <network>. Базовая реализация других backend также может вернуть пустую строку. Не строит путь для Open(); для него нужно GetDriveName().
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс от 0 до GetDriveCount()-1; не постоянный ID. Обработайте изменение списка между вызовами.
stringМетка тома, пустая строка или платформенная подпись; не путь.
GetDriveNamestring
public static string GetDriveName(int idx);Имя/путь элемента списка ОС по индексу. В Windows имеет вид C:, а не пользовательскую метку тома. Для подписи интерфейса используйте отдельно GetDriveLabel(). Получите актуальный GetDriveCount() и обработайте пустую строку; счётчик и чтение имени не образуют атомарный снимок.
| Имя | Тип | По умолчанию |
|---|---|---|
idx | int | — |
idxИндекс от 0 до GetDriveCount()-1; не постоянный ID. Обработайте изменение списка между вызовами.
stringИмя/путь по индексу либо пустая строка; в Windows имя вида C:.
GetFilesstring[]
public string[] GetFiles();Возвращает отсортированные имена непосредственных файлов текущего каталога, без рекурсии и полного пути. Учитывает IncludeHidden. Начинает и потребляет тот же cursor, что GetNext(); параллельный ручной обход на этом handle прерывается. Пустой массив не различает пустой каталог и ошибку начала перечисления; для явного Error используйте ListDirBegin().
string[]Новый C# string[] с отсортированными именами файлов; не рекурсивный список.
GetFilesAtstring[]
public static string[] GetFilesAt(string path);Открывает новый внутренний handle и получает отсортированные имена непосредственных файлов. Использует стандартные фильтры нового handle: не наследует IncludeHidden существующего экземпляра. При ошибке открытия пишет диагностику и возвращает пустой массив; это не основание считать каталог пустым или обращаться к GetOpenError() как результату этой операции.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть к каталогу; для static-вызова используйте полный путь либо asset:// или user://.
string[]Отсортированные имена файлов; пустой массив также возможен при ошибке.
GetFilesystemTypestring
public string GetFilesystemType();Строковое описание файловой системы текущего каталога, например NTFS; это не стабильный enum возможностей. Windows возвращает Network Share для сетевого пути, а при неудаче возможна пустая строка. Не выводите из имени поддержку прав, atomic rename, регистрозависимость или скорость: нужную операцию проверяйте отдельно.
stringОписание типа файловой системы либо пустая строка при недоступном результате.
public bool GetIncludeHidden();Разрешает скрытые записи при перечислении через этот handle; по умолчанию false. Это фильтр списка, не ограничение FileExists/DirExists и не защита доступа. Понятие hidden задаёт backend: Windows использует FILE_ATTRIBUTE_HIDDEN, поэтому одно имя с точкой не является переносимым тестом. Static GetFilesAt/GetDirectoriesAt используют новые стандартные фильтры.
boolТекущее значение IncludeHidden данного handle.
GetIncludeNavigationalbool
public bool GetIncludeNavigational();Разрешает навигационные записи . и .. при перечислении через этот handle; по умолчанию false. Не меняет возможность явно вызвать ChangeDir("..") в допустимой области. Не трактуйте такие записи как обычные подкаталоги в своём рекурсивном алгоритме; flags других handle независимы.
boolТекущее значение IncludeNavigational данного handle.
GetNextstring
public string GetNext();Возвращает имя следующей непосредственной записи, не полный путь. Пустая строка завершает обход; порядок не гарантирован. IncludeHidden/IncludeNavigational фильтруют результат. CurrentIsDir() относится к только что возвращённой непустой записи. При досрочном выходе вызовите ListDirEnd().
stringНепустое имя записи либо пустая строка в конце обхода.
GetOpenErrorError
public static Error GetOpenError();Последний результат Open()/CreateTemp() на текущем потоке, а не общая ошибка файловой системы. Следующий вызов перезаписывает его. Не диагностируйте этим getter ошибки ChangeDir(), чтения списка, Copy() или Remove(): проверяйте результат конкретной операции.
ErrorError последнего Open/CreateTemp на этом потоке; следующий такой вызов его заменит.
GetSpaceLeftulong
public ulong GetSpaceLeft();Доступные вызывающему свободные байты на файловой системе текущего каталога, не общий размер диска. Windows читает available bytes через GetDiskFreeSpaceExW; Unix использует f_bavail. Значение может измениться сразу после проверки и не резервирует место. Ноль также возвращается при ошибке запроса; отдельного Error этот метод не даёт.
ulongДоступные байты; 0 также может означать ошибку запроса.
IsBundlebool
public bool IsBundle(string path);Определяет файловый пакет там, где backend поддерживает это понятие; macOS использует системную проверку file package. Базовая реализация возвращает false, в том числе для проверенного Windows backend. Это не проверка .pck, префаба, архива ассетов или возможности загрузки через ResourceLoader.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть к проверяемому объекту; для переносимости используйте полный OS path или подходящий virtual path handle.
boolTrue для распознанного backend файлового пакета; иначе false.
IsCaseSensitivebool
public bool IsCaseSensitive(string path);Спрашивает backend о различении регистра для пути/каталога. В Windows проверяется per-directory flag, в macOS — свойство тома; поведение зависит от платформы. False не различает нечувствительность к регистру и неудачный запрос: отсутствующий путь на Windows даёт false. Не используйте как доказательство существования или доступа.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть к проверяемому объекту; для переносимости используйте полный OS path или подходящий virtual path handle.
boolОтвет backend; false не подтверждает успешное определение режима.
IsEquivalentbool
public bool IsEquivalent(string pathA, string pathB);Сравнивает идентичность файлов через backend, но при невозможности получить сведения может перейти к буквальному равенству исходных строк. Поэтому одинаковые отсутствующие пути дают true; это не проверка существования. Windows использует file ID и том, Unix — device/inode. Для переносимого вызова передавайте полные пути: текущая Unix-реализация не привязывает относительные аргументы к каталогу handle. Права доступа и сохранение идентичности после вызова не гарантируются.
| Имя | Тип | По умолчанию |
|---|---|---|
pathA | string | — |
pathB | string | — |
pathAПервый полный путь для сравнения; не считайте его существующим без отдельной проверки.
pathBВторой полный путь для сравнения; одинаковые строки могут совпасть через fallback даже без файла.
boolРезультат file-identity сравнения либо равенства строк при fallback.
IsLinkbool
public bool IsLink(string path);Проверяет специальный тип записи: Windows определяет FILE_ATTRIBUTE_REPARSE_POINT, Unix — symlink. Windows true поэтому не означает только обычную символическую ссылку. False также возможен для отсутствующего/недоступного пути; метод не возвращает подробный Error и не подтверждает безопасность дальнейшего обхода.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть к проверяемому объекту; для переносимости используйте полный OS path или подходящий virtual path handle.
boolРезультат проверки reparse point/symlink; false также возможен при неудаче.
ListDirBeginError
public Error ListDirBegin();Начинает обход текущего каталога, сбрасывая прежний cursor этого handle. Проверяйте Error до GetNext(). Не запускайте GetFiles()/GetDirectories() на том же handle посреди обхода: они начинают и потребляют собственное перечисление на том же cursor.
ErrorError.Ok при начале обхода; иначе не продолжайте GetNext().
ListDirEndvoid
public void ListDirEnd();Закрывает текущий обход этого handle. Используйте при досрочном выходе, в том числе через finally; следующий ListDirBegin() начинает новый обход. Не закрывает сам DirAccess и не меняет текущий каталог.
MakeDirError
public Error MakeDir(string path);Создаёт один каталог. Относительный путь instance-метода считается от текущего каталога handle; отсутствующие родители не создаются. Проверяйте Error: существующая папка обычно даёт AlreadyExists. В Windows AccessDenied также может отображаться как AlreadyExists, поэтому этот код не доказывает наличие каталога; отдельно проверяйте DirExists(). Не меняет текущий каталог.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть каталога для создания либо файла/пустого каталога для Remove. Для static-вызова используйте полный OS path или virtual path.
ErrorError.Ok при создании; AlreadyExists/иной Error требует проверки фактического каталога.
MakeDirAbsoluteError
public static Error MakeDirAbsolute(string path);Создаёт один каталог. Относительный путь instance-метода считается от текущего каталога handle; отсутствующие родители не создаются. Проверяйте Error: существующая папка обычно даёт AlreadyExists. В Windows AccessDenied также может отображаться как AlreadyExists, поэтому этот код не доказывает наличие каталога; отдельно проверяйте DirExists(). Не меняет текущий каталог. Static-вариант создаёт внутренний handle по префиксу пути; передавайте полный OS path либо asset:// или user://, без зависимости от OS working directory.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть каталога для создания либо файла/пустого каталога для Remove. Для static-вызова используйте полный OS path или virtual path.
ErrorError.Ok при создании; AlreadyExists/иной Error требует проверки фактического каталога.
MakeDirRecursiveError
public Error MakeDirRecursive(string path);Создаёт промежуточные каталоги по пути, пропуская AlreadyExists. Не является транзакцией: созданные родители при последующей ошибке остаются. Пустой путь даёт Ok без действий. В текущей 1.0.0 файл на конечном пути также может дать Ok без создания каталога; это воспроизведено. Если нужен именно каталог, дополнительно проверьте DirExists().
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть каталога для создания либо файла/пустого каталога для Remove. Для static-вызова используйте полный OS path или virtual path.
ErrorError.Ok также возможен для пустого пути или файла на конечном пути; при ошибке часть родителей может остаться.
MakeDirRecursiveAbsoluteError
public static Error MakeDirRecursiveAbsolute(string path);Создаёт промежуточные каталоги по пути, пропуская AlreadyExists. Не является транзакцией: созданные родители при последующей ошибке остаются. Пустой путь даёт Ok без действий. В текущей 1.0.0 файл на конечном пути также может дать Ok без создания каталога; это воспроизведено. Если нужен именно каталог, дополнительно проверьте DirExists(). Static-вариант создаёт внутренний handle по префиксу пути; передавайте полный OS path либо asset:// или user://, без зависимости от OS working directory.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть каталога для создания либо файла/пустого каталога для Remove. Для static-вызова используйте полный OS path или virtual path.
ErrorError.Ok также возможен для пустого пути или файла на конечном пути; при ошибке часть родителей может остаться.
OpenDirAccess
public static DirAccess Open(string path);Открывает существующий каталог и возвращает собственный RefCounted handle; в C# ограничивайте срок жизни через using. Не создаёт каталог. При null сразу прочитайте GetOpenError() на том же потоке. Для смены области asset://, user:// или файловой системы открывайте отдельный handle. Доступность путей зависит от ОС и экспорта.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathСуществующий каталог: asset://, user:// или допустимый OS path; не имя файла.
DirAccessСобственный DirAccess либо null; сразу проверяйте GetOpenError().
ReadLinkstring
public string ReadLink(string path);Поведение различается по платформам. Windows получает финальный OS path открытого объекта и может вернуть путь даже для обычного файла; если открыть объект не удалось, возвращает исправленный входной путь, который тоже может быть непустым. Unix читает текст назначения symlink; результат может быть относительным, при неудаче пустым. Непустая строка не доказывает наличие ссылки, успех разрешения или существование цели. Реальные symlink/junction в этом проходе не проверены.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть к проверяемому объекту; для переносимости используйте полный OS path или подходящий virtual path handle.
stringПлатформенный путь/текст назначения; не единый индикатор успешного разрешения ссылки.
RemoveError
public Error Remove(string path);Удаляет файл или пустой каталог непосредственно, не отправляет в корзину. Не является рекурсивным удалением: непустой каталог на проверенном Windows остаётся и даёт ошибку. Относительный путь instance-метода относится к текущему каталогу handle. Проверяйте Error, а не GetOpenError(); отсутствие пути тоже может дать ошибку. Поведение ссылок зависит от backend; реальные ссылки в этом проходе не проверялись.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть каталога для создания либо файла/пустого каталога для Remove. Для static-вызова используйте полный OS path или virtual path.
ErrorError.Ok при удалении; иной Error не сообщает подробную причину через GetOpenError().
RemoveAbsoluteError
public static Error RemoveAbsolute(string path);Удаляет файл или пустой каталог непосредственно, не отправляет в корзину. Не является рекурсивным удалением: непустой каталог на проверенном Windows остаётся и даёт ошибку. Относительный путь instance-метода относится к текущему каталогу handle. Проверяйте Error, а не GetOpenError(); отсутствие пути тоже может дать ошибку. Поведение ссылок зависит от backend; реальные ссылки в этом проходе не проверялись. Static-вариант создаёт внутренний handle по префиксу пути; передавайте полный OS path либо asset:// или user://, без зависимости от OS working directory.
| Имя | Тип | По умолчанию |
|---|---|---|
path | string | — |
pathПуть каталога для создания либо файла/пустого каталога для Remove. Для static-вызова используйте полный OS path или virtual path.
ErrorError.Ok при удалении; иной Error не сообщает подробную причину через GetOpenError().
RenameError
public Error Rename(string from, string to);Переименовывает/перемещает файл или каталог; относительные пути instance-метода относятся к текущему каталогу handle. Критично для Windows 1.0.0: перед перемещением удаляет существующий файл назначения. Если источник отсутствует, метод может удалить назначение и вернуть ошибку; дефект воспроизведён на одноразовых файлах. Не используйте замену существующего файла как безопасную транзакцию сохранения. Unix cross-device fallback выполняет copy/remove, тоже без гарантии атомарности. Движок здесь не исправлялся.
| Имя | Тип | По умолчанию |
|---|---|---|
from | string | — |
to | string | — |
fromИсходный путь; для Copy передавайте полный путь, не рассчитывайте на текущий каталог handle.
toПуть назначения; существующий файл может быть перезаписан/удалён. Для Copy используйте полный путь.
ErrorError результата; ошибка Windows не гарантирует сохранность существовавшего назначения.
RenameAbsoluteError
public static Error RenameAbsolute(string from, string to);Переименовывает/перемещает файл или каталог; относительные пути instance-метода относятся к текущему каталогу handle. Критично для Windows 1.0.0: перед перемещением удаляет существующий файл назначения. Если источник отсутствует, метод может удалить назначение и вернуть ошибку; дефект воспроизведён на одноразовых файлах. Не используйте замену существующего файла как безопасную транзакцию сохранения. Unix cross-device fallback выполняет copy/remove, тоже без гарантии атомарности. Движок здесь не исправлялся. Static-вариант преобразует оба пути через GlobalizePath(), но сохраняет указанный дефект Windows; слово Absolute не означает безопасную замену.
| Имя | Тип | По умолчанию |
|---|---|---|
from | string | — |
to | string | — |
fromИсходный путь; для Copy передавайте полный путь, не рассчитывайте на текущий каталог handle.
toПуть назначения; существующий файл может быть перезаписан/удалён. Для Copy используйте полный путь.
ErrorError результата; ошибка Windows не гарантирует сохранность существовавшего назначения.
public void SetIncludeHidden(bool enable);Разрешает скрытые записи при перечислении через этот handle; по умолчанию false. Это фильтр списка, не ограничение FileExists/DirExists и не защита доступа. Понятие hidden задаёт backend: Windows использует FILE_ATTRIBUTE_HIDDEN, поэтому одно имя с точкой не является переносимым тестом. Static GetFilesAt/GetDirectoriesAt используют новые стандартные фильтры.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enableTrue включает скрытые записи в списке этого handle; false исключает.
SetIncludeNavigationalvoid
public void SetIncludeNavigational(bool enable);Разрешает навигационные записи . и .. при перечислении через этот handle; по умолчанию false. Не меняет возможность явно вызвать ChangeDir("..") в допустимой области. Не трактуйте такие записи как обычные подкаталоги в своём рекурсивном алгоритме; flags других handle независимы.
| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
enableTrue разрешает . и .. в списке этого handle; false исключает.