fjh*_*fjh 11
你应该使用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());
}
Run Code Online (Sandbox Code Playgroud)
输出:
is dir: true
is file: false
Run Code Online (Sandbox Code Playgroud)
截至rustc 1.67.1 (d5a82bbd2 2023-02-07)您可以使用std::path::PathBuf:
let path = PathBuf::from(".");
let is_dir = path.is_dir();
let is_file = path.is_file();
println!("is_dir: {is_dir}");
println!("is_file : {is_file}");
Run Code Online (Sandbox Code Playgroud)
这是使用 REPL 执行代码时的输出:
Welcome to evcxr. For help, type :help
>> use std::path::PathBuf;
>> let path = PathBuf::from(".");
>> let is_dir = path.is_dir();
>> let is_file = path.is_file();
>> println!("is_dir: {is_dir}");
is_dir: true
>> println!("is_file : {is_file}");
is_file : false
Run Code Online (Sandbox Code Playgroud)