File.Stat
Структура, содержащая информацию о файле.
В Erlang эта структура представлена :file_info записью. Поэтому этот модуль также предоставляет функции для преобразования между записью Erlang и структурой Elixir.
Её поля:
size- размер файла в байтах.type-:device | :directory | :regular | :other | :symlink; тип файла.access-:read | :write | :read_write | :none; текущий системный доступ к файлу.atime- последний раз, когда файл был прочитан.mtime- последний раз, когда файл был записан.ctime- интерпретация этого поля времени зависит от операционной системы. В системах Unix-подобных операционных системах это последний раз, когда файл или индексный дескриптор были изменены. В Windows это время создания.mode- разрешения файла.links- количество ссылок на этот файл. Для файловых систем, не поддерживающих ссылки, это всегда 1.major_device- идентифицирует файловую систему, в которой находится файл. В Windows число указывает на диск следующим образом: 0 означает A:, 1 означает B:, и так далее.minor_device- имеет смысл только для символьных устройств в системах Unix-подобных. Во всех остальных случаях это поле равно нулю.inode- номер индексного дескриптора.uid- указывает владельца файла. Будет равно нулю для файловых систем, не похожих на Unix.gid- указывает группу, владеющую файлом. Будет равно нулю для файловых систем, не похожих на Unix.
Тип времени, возвращаемый в atime, mtime, и ctime, зависит от типа времени, установленного в параметрах. {:time, type} где тип может быть :local, :universal, или :posix. По умолчанию :universal.
Типы
Функции
- from_record(file_info)
-
Преобразует
:file_infoзапись вFile.Stat. - to_record(stat)
-
Преобразует структуру
File.Statв:file_infoзапись.
t()Source
@type t() :: %File.Stat{
access: :read | :write | :read_write | :none,
atime: :calendar.datetime() | integer(),
ctime: :calendar.datetime() | integer(),
gid: non_neg_integer(),
inode: non_neg_integer(),
links: non_neg_integer(),
major_device: non_neg_integer(),
minor_device: non_neg_integer(),
mode: non_neg_integer(),
mtime: :calendar.datetime() | integer(),
size: non_neg_integer(),
type: :device | :directory | :regular | :other | :symlink,
uid: non_neg_integer()
}
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.15.4/File.Stat.html