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());
メタデータのみを得たい場合はこちらのほうがお手軽な感じですね。