如何查看目录大小?

pes*_*tov 8 rust

有没有办法用 Rust 检查文件夹的大小?

我没有看到提到这样的方法。我可以通过调用 shell 命令来完成此操作,但如果可能的话,我更愿意避免这种情况。

stu*_*art 10

板条箱fs_extra似乎对我来说效果很好https://docs.rs/fs_extra/1.2.0/fs_extra/dir/fn.get_size.html

Cargo.toml

[dependencies]
fs_extra = "1.2.0"
Run Code Online (Sandbox Code Playgroud)

代码

extern crate fs_extra;
use fs_extra::dir::get_size;

fn main(){
  let folder_size = get_size("dir").unwrap();
  println!("{}", folder_size); // print directory sile in bytes
}
Run Code Online (Sandbox Code Playgroud)


Mas*_*inn 4

您能更具体地解释一下您的意思吗?您只想获得du类似信息(递归地求每个文件的大小之和)吗?

在这种情况下,您可能想要使用std::fs::read_dir,迭代条目,对非目录的大小(通过元数据)求和,然后递归到目录。

我很确定没有内置的du,我认为甚至没有内置的递归目录 walker (因此walkdir