查看源代码 File.Stat (Elixir v1.16.2)

包含文件信息的结构体。

在 Erlang 中,此结构体由一个 :file_info 记录表示。因此,此模块还提供用于在 Erlang 记录和 Elixir 结构体之间进行转换的函数。

其字段如下:

  • size - 文件大小(以字节为单位)。

  • type - :device | :directory | :regular | :other | :symlink;文件的类型。

  • access - :read | :write | :read_write | :none;系统当前对文件的访问权限。

  • atime - 最后一次读取文件的时间。

  • mtime - 最后一次写入文件的时间。

  • ctime - 此时间字段的解释取决于操作系统。在类 Unix 操作系统上,它是文件或 inode 最后一次修改的时间。在 Windows 中,它是创建的时间。

  • mode - 文件权限。

  • links - 指向此文件的链接数。对于没有链接概念的文件系统,它始终为 1。

  • major_device - 标识文件所在的文件系统。在 Windows 中,数字表示驱动器,如下所示:0 表示 A:,1 表示 B:,依此类推。

  • minor_device - 仅对类 Unix 系统上的字符设备有效。在所有其他情况下,此字段为零。

  • inode - 提供 inode 号码。在非类 Unix 文件系统上,此字段将为零。

  • uid - 表示文件的所有者。对于非类 Unix 文件系统,将为零。

  • gid - 表示拥有该文件的组。对于非类 Unix 文件系统,将为零。

atimemtimectime 中返回的时间类型取决于在选项中设置的时间类型。{:time, type},其中 type 可以是 :local:universal:posix。默认值为 :universal

摘要

函数

将一个 :file_info 记录转换为 File.Stat

将一个 File.Stat 结构体转换为 :file_info 记录。

类型

@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)

查看源代码
@spec from_record(:file.file_info()) :: t()

将一个 :file_info 记录转换为 File.Stat

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

将一个 File.Stat 结构体转换为 :file_info 记录。