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

610, 2022-12-28

目次

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());

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



この記事のアンケートを送信する