FilePath
FilePath представляет возможность доступа к пути. Путь будет представлен как абсолютный путь и набор возможностей для операций с этим путем.
class val FilePath
Конструкторы
create
Создать новый путь. Вызывающий должен предоставить либо возможность доступа к корню, либо существующую FilePath.
Если предоставлена возможность доступа к корню, путь будет относительным к рабочей директории программы. В противном случае он будет относительным к существующей FilePath, и существующая FilePath должна быть префиксом результирующего пути.
Полученная FilePath будет иметь возможности, которые являются пересечением предоставленных возможностей и возможностей родительского объекта.
new val create( base: (FilePath val | AmbientAuth val), path': String val, caps': Flags[(FileCreate val | FileChmod val | FileChown val | FileLink val | FileLookup val | FileMkdir val | FileRead val | FileRemove val | FileRename val | FileSeek val | FileStat val | FileSync val | FileTime val | FileTruncate val | FileWrite val | FileExec val), U32 val] val = recover) : FilePath val^ ?
Параметры
- base: (FilePath val | AmbientAuth val)
- path': String val
- caps': Flags[(FileCreate val | FileChmod val | FileChown val | FileLink val | FileLookup val | FileMkdir val | FileRead val | FileRemove val | FileRename val | FileSeek val | FileStat val | FileSync val | FileTime val | FileTruncate val | FileWrite val | FileExec val), U32 val] val = recover
Возвращаемое значение
- FilePath val^ ?
mkdtemp
Создает временную директорию и возвращает путь к ней. Имя директории будет начинаться с prefix. Вызывающий должен предоставить либо возможность доступа к корню, либо существующую FilePath.
Если предоставлен AmbientAuth, шаблон будет относительным к рабочей директории программы. В противном случае он будет относительным к существующей FilePath, и существующая FilePath должна быть префиксом результирующего пути.
Полученная FilePath будет иметь возможности, которые являются пересечением предоставленных возможностей и возможностей базового объекта.
new val mkdtemp( base: (FilePath val | AmbientAuth val), prefix: String val = "", caps': Flags[(FileCreate val | FileChmod val | FileChown val | FileLink val | FileLookup val | FileMkdir val | FileRead val | FileRemove val | FileRename val | FileSeek val | FileStat val | FileSync val | FileTime val | FileTruncate val | FileWrite val | FileExec val), U32 val] val = recover) : FilePath val^ ?
Параметры
- base: (FilePath val | AmbientAuth val)
- prefix: String val = ""
- caps': Flags[(FileCreate val | FileChmod val | FileChown val | FileLink val | FileLookup val | FileMkdir val | FileRead val | FileRemove val | FileRename val | FileSeek val | FileStat val | FileSync val | FileTime val | FileTruncate val | FileWrite val | FileExec val), U32 val] val = recover
Возвращаемое значение
- FilePath val^ ?
Открытые поля
let path: String val
Абсолютный путь к файловой системе.
let caps: Flags[(FileCreate val | FileChmod val | FileChown val | FileLink val | FileLookup val | FileMkdir val | FileRead val | FileRemove val | FileRename val | FileSeek val | FileStat val | FileSync val | FileTime val | FileTruncate val | FileWrite val | FileExec val), U32 val] ref
Набор возможностей для операций с path.
Открытые функции
join
Возвращает новый путь, относительный к этому.
fun val join( path': String val, caps': Flags[(FileCreate val | FileChmod val | FileChown val | FileLink val | FileLookup val | FileMkdir val | FileRead val | FileRemove val | FileRename val | FileSeek val | FileStat val | FileSync val | FileTime val | FileTruncate val | FileWrite val | FileExec val), U32 val] val = recover) : FilePath val ?
Параметры
- path': String val
- caps': Flags[(FileCreate val | FileChmod val | FileChown val | FileLink val | FileLookup val | FileMkdir val | FileRead val | FileRemove val | FileRename val | FileSeek val | FileStat val | FileSync val | FileTime val | FileTruncate val | FileWrite val | FileExec val), U32 val] val = recover
Возвращаемое значение
- FilePath val ?
walk
Проходит по структуре каталогов, начиная с этого.
handler(dir_path, dir_entries) будет вызываться для каждого каталога, начиная с этого. Обработчик может управлять тем, какие подкаталоги будут развернуты, удаляя их из списка dir_entries.
fun val walk( handler: WalkHandler ref, follow_links: Bool val = false) : None val
Параметры
- handler: WalkHandler ref
- follow_links: Bool val = false
Возвращаемое значение
- None val
canonical
Возвращает эквивалентный канонический абсолютный путь. Вызовет ошибку, если его нет.
fun val canonical() : FilePath val ?
Возвращаемое значение
- FilePath val ?
exists
Возвращает true, если путь существует. Возвращает false для сломанной символической ссылки.
fun val exists() : Bool val
Возвращаемое значение
- Bool val
mkdir
Создает директорию. Рекурсивно создает каждый элемент. Возвращает true, если директория существует после завершения, false, если нет. Если у нас нет разрешения FileStat, это вернёт false, даже если директория существует.
fun val mkdir( must_create: Bool val = false) : Bool val
Параметры
- must_create: Bool val = false
Возвращаемое значение
- Bool val
remove
Удаляет файл или директорию. Содержимое директории также будет удалено рекурсивно. Символические ссылки будут удалены, но не будут просмотрены.
fun val remove() : Bool val
Возвращаемое значение
- Bool val
rename
Переименовать файл или директорию.
fun box rename( new_path: FilePath val) : Bool val
Параметры
- new_path: FilePath val
Возвращаемое значение
- Bool val
symlink
Создать символическую ссылку на файл или директорию.
Обратите внимание, что в Windows программе необходимо запускаться с повышенными привилегиями, чтобы она могла создавать символические ссылки.
fun val symlink( link_name: FilePath val) : Bool val
Параметры
- link_name: FilePath val
Возвращаемое значение
- Bool val
chmod
Установить FileMode для пути.
fun box chmod( mode: FileMode box) : Bool val
Параметры
- mode: FileMode box
Возвращаемое значение
- Bool val
chown
Установить владельца и группу для пути. Ничего не делает в Windows.
fun box chown( uid: U32 val, gid: U32 val) : Bool val
Параметры
Возвращаемое значение
- Bool val
touch
Установить время последнего доступа и изменения пути на текущее время.
fun box touch() : Bool val
Возвращаемое значение
- Bool val
set_time
Установить время последнего доступа и изменения пути на заданные значения.
fun box set_time( atime: (I64 val , I64 val), mtime: (I64 val , I64 val)) : Bool val
Параметры
Возвращаемое значение
- Bool val
© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/files-FilePath