如何检查给定路径是文件还是目录?

How to check if a given path is a file or directory?

我正在构建一个程序,它应该能够采用文件路径 (*.*) 和目录路径 (./..)。我希望能够检查提供的路径是文件还是目录。

你应该使用 std::fs::metadata:

use std::fs::metadata;

fn main() {
    let md = metadata(".").unwrap();
    println!("is dir: {}", md.is_dir());
    println!("is file: {}", md.is_file());
}

输出:

is dir: true
is file: false