【Swift】FileのサイズをFileManagerで取得する方法!MBで表示

この記事からわかること
- SwiftのFileManagerの使い方
- ローカルへ保存したファイルのサイズ容量を取得するには?
- attributesOfItemメソッドとは?
- 取得できるファイル属性の種類
- MBへ変換する方法
\ アプリをリリースしました /
環境
- Xcode:15.0.1
- iOS:17.0
- Swift:5.9
- macOS:Sonoma 14.1
ローカルに保存しているファイルのサイズを取得する方法
FileManager
クラスやCore Data
などを使用してローカルに保存しているファイルのサイズ(容量)を取得するにはFileManager
クラスのattributesOfItem
メソッドを使用します。
attributesOfItemメソッド
attributesOfItem
は引数に対象のファイルのパスを渡し、返り値は[FileAttributeKey : Any]
型になります。
NSDictionary
型にキャストするとfileSize
やfileModificationDate
メソッドが使用できるようになります。
NSDictionary
型にキャストしない場合はFileAttributeKey
型でキー値を指定することも可能です。
取得できるファイル属性
容量だけでなく作成日や更新日など様々な情報を取得することが可能です。以下は実際に取得した中身です。
MBに変換する
ファイルサイズはバイト単位で取得できるのでそのまま使用するには分かりにくいです。MB単位に変換して数値で取得したい場合は1024 * 1024
で割って取得することが可能です。
文字列でMBで取得するにはByteCountFormatter
を使用してuseMB
を指定することで0.4 MB
形式で取得することができます。useMB
を変更すればuseKB
などに変更することで任意の単位で簡単に取得することが可能です。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。