2015-10-12 21 views

cevap

12

Bu File modülünde yerleşik stat fonksiyonları kullanılarak, iksir elde edilir; Burada iki hakkında konuşacağım: File.stat/2 ve File.stat!/2.

Her iki işlev de "değer" için bir %File.Stat{} yapısını döndürür; bu, daha sonra bayt cinsinden dosya boyutunu içeren size alanını kopyalarken desen eşleştirmesiyle yok ederiz. Fonksiyonlar sadece 1) geri dönüş ve 2) istisnaların nasıl ele alındığı (örn. Dosya bulunamadı) bakımından farklılık gösterir.

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

NB: incelikle istisnaları ele ve bir hata tuple dönmek dosya boyutu kontrolleri için

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

: istisnalar atmak dosya boyutu kontrolleri (File.Error) için

: Symlinks ile uğraşırken biraz farklı bir şekilde ele alan başka bir fonksiyon var. bout: File.lstat/2 & File.lstat!/2.

İlgili konular