ユーニックス総合研究所

  • home
  • archives
  • rust-get-file-size

Rustでファイルサイズを取得する方法【std::fs::metadata】

  • 作成日: 2022-12-28
  • 更新日: 2023-12-24
  • カテゴリ: Rust

Rustでファイルサイズを得る

結論(コード)から言うと↓になります。

    let fin = std::fs::File::open("src/main.rs").unwrap();  
    let fsize = fin.metadata().unwrap().len();  
    println!("{} bytes", fsize);  

Rustのファイルオブジェクトはメタデータを持っていて、このメタデータはファイルオブジェクトのメソッドであるmetadata()で参照できます。
metadata()からlen()を呼び出すとファイルサイズを取得できるという感じです。

pub fn len(&self) -> u64  

    Returns the size of the file, in bytes, this metadata is for.  

ファイルを開かなくともstd::fs::metadataで直接メタデータを参照することもできます。

    let metadata = std::fs::metadata("src/main.rs").unwrap();  
    println!("{} bytes", metadata.len());  

メタデータのみを得たい場合はこちらのほうがお手軽な感じですね。