Вы можете использовать .read_dir()
, чтобы получить итератор для записей каталога..
и ..
пропускаются, поэтому, если первый вызов next()
на итераторе возвращает None
, вы знаете, что каталог пуст.
let is_empty = dir_path_buf.read_dir().next()?.is_none();
Если вы используете Unix (POSIX,действительно) другой способ сделать это - создать новый временный каталог и попытаться переименовать его в каталог PathBuf
.Вызов rename()
, отличный от утилиты mv
, переименует каталог, если цель не существует или пустой каталог .