如何获得Elixir中文件的大小?

如何获得Elixir中文件的大小?,elixir,Elixir,给定磁盘上文件的路径,以字节为单位检索文件大小的最惯用方法是什么 path = "/tmp/some_file.txt" 这在Elixir中通过使用文件模块中的内置stat功能实现;在这里,我将谈论两个:和 这两个函数都会为其“值”返回一个%File.Stat{}结构,然后通过模式匹配对其进行分解,以提取包含文件大小(以字节为单位)的size字段。这些函数仅在1)返回和2)处理异常(例如未找到文件)的方式上有所不同 用于引发异常的文件大小检查(file.Error): 用于文件大小检查,以优雅

给定磁盘上文件的路径,以字节为单位检索文件大小的最惯用方法是什么

path = "/tmp/some_file.txt"

这在Elixir中通过使用
文件
模块中的内置
stat
功能实现;在这里,我将谈论两个:和

这两个函数都会为其“值”返回一个
%File.Stat{}
结构,然后通过模式匹配对其进行分解,以提取包含文件大小(以字节为单位)的
size
字段。这些函数仅在1)返回和2)处理异常(例如未找到文件)的方式上有所不同

用于引发异常的文件大小检查(
file.Error
):

用于文件大小检查,以优雅地处理异常并返回错误元组

iex(1)> case File.stat path do
...(1)>   {:ok, %{size: size}} -> size
...(1)>   {:error, reason} -> ... # handle error
...(1)> end
1562
N.B:在处理符号链接时,还有一些处理方式稍有不同的函数值得了解:&

iex(1)> case File.stat path do
...(1)>   {:ok, %{size: size}} -> size
...(1)>   {:error, reason} -> ... # handle error
...(1)> end
1562