View Source File.Stat (Elixir v1.15.3)
A struct that holds file information.
In Erlang, this struct is represented by a :file_info record.
Therefore this module also provides functions for converting
between the Erlang record and the Elixir struct.
Its fields are:
size- size of file in bytes.type-:device | :directory | :regular | :other | :symlink; the type of the file.access-:read | :write | :read_write | :none; the current system access to the file.atime- the last time the file was read.mtime- the last time the file was written.ctime- the interpretation of this time field depends on the operating system. On Unix-like operating systems, it is the last time the file or the inode was changed. In Windows, it is the time of creation.mode- the file permissions.links- the number of links to this file. This is always 1 for file systems which have no concept of links.major_device- identifies the file system where the file is located. In Windows, the number indicates a drive as follows: 0 means A:, 1 means B:, and so on.minor_device- only valid for character devices on Unix-like systems. In all other cases, this field is zero.inode- gives the inode number. On non-Unix-like file systems, this field will be zero.uid- indicates the owner of the file. Will be zero for non-Unix-like file systems.gid- indicates the group that owns the file. Will be zero for non-Unix-like file systems.
The time type returned in atime, mtime, and ctime is dependent on the
time type set in options. {:time, type} where type can be :local,
:universal, or :posix. Default is :universal.
Summary
Types
@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() }
Functions
@spec from_record(:file.file_info()) :: t()
Converts a :file_info record into a File.Stat.
@spec to_record(t()) :: :file.file_info()
Converts a File.Stat struct to a :file_info record.