Spec-Zone.ru › Elixir 1.15

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.

Типы

t()

Функции

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()
}

from_record(file_info)Source

@spec from_record(:file.file_info()) :: t()

Преобразует :file_info запись в File.Stat.

to_record(stat)Source

@spec to_record(t()) :: :file.file_info()

Преобразует структуру File.Stat в :file_info запись.

© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.15.4/File.Stat.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API