查看源代码 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 文件系统,将为零。
在 atime
、mtime
和 ctime
中返回的时间类型取决于在选项中设置的时间类型。{:time, type}
,其中 type 可以是 :local
、:universal
或 :posix
。默认值为 :universal
。
摘要
类型
@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() }
函数
@spec from_record(:file.file_info()) :: t()
将一个 :file_info
记录转换为 File.Stat
。
@spec to_record(t()) :: :file.file_info()
将一个 File.Stat
结构体转换为 :file_info
记录。