2015-10-12 10 views

答えて

12

これはFileモジュールに組み込みstat機能を利用することによって、エリクサーで達成されます。ここでは、私は2つについて話します:File.stat/2File.stat!/2

両方の関数は、 "value"の構造体を返します。パターンマッチングによって構造体を破棄し、ファイルサイズが含まれるsizeフィールドを取り出します。これらの関数は、1)復帰方法と2)例外処理方法(ファイルが見つからないなど)が異なるだけです。例外をスローファイルサイズのチェックのために

File.Error):優雅に例外を処理し、エラータプルを返し、ファイルサイズをチェックするために

iex(1)> %{size: size} = File.stat! path 
1562 

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

NB :シンボリックリンクを扱うときに多少異なる扱いをする他の関数があります。 bout:File.lstat/2 & File.lstat!/2