如何检查Rust中的目录是否为空?

时间:2019-06-24 21:52:28

标签: rust

我正在使用一个CLI工具,该工具可以避免用现有文件破坏现有目录,但不在乎该目录不存在还是空。

我知道我可以使用.exists()来查看PathBuf是否指向现有文件/目录,并使用.is_dir()来查看它是否是目录,但是我将如何检查目录是否为空?

2 个答案:

答案 0 :(得分:4)

您可以使用service.beta.kubernetes.io/azure-load-balancer-tcp-idle-timeout来获取目录条目上的迭代器。 .read_dir().被跳过,因此,如果迭代器上的第一个..调用返回next(),则您知道目录为空。

None

如果您使用的是Unix(实际上是POSIX),则执行此操作的另一种方法是创建一个新的临时目录,然后尝试将其重命名为let is_empty = dir_path_buf.read_dir().next()?.is_none(); 的目录。如果目标不存在或空目录,则与PathBuf实用程序不同的rename()调用将重命名目录。

答案 1 :(得分:1)

单线检查目录是否可读:

{{1}}