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