On this page
File.Stat
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
.
Types
Functions
- from_record(file_info)
-
Converts a
:file_info
record into aFile.Stat
. - to_record(stat)
-
Converts a
File.Stat
struct to a:file_info
record.
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