檢視原始碼 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},其中類型可以是 :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()
}

函數

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

:file_info 記錄轉換為 File.Stat

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

File.Stat 結構轉換為 :file_info 記錄。