Rust文件操作相关

通过Path 获取 文件夹路径,文件名,后缀

use std::path::Path;
use std::ffi::OsStr;
fn main() {
    let path = Path::new("F:/AUPMODEL/1156668/1156668.blend");
    let parent = path.parent();
    assert_eq!(parent,Some(Path::new("F:/AUPMODEL/1156668")));
    let file_stem = path.file_stem();
    assert_eq!(file_stem,Some(OsStr::new("1156668")));
    let extension = path.extension();
    assert_eq!(extension,Some(OsStr::new("blend")));
    println!("完整文件名:{:?}\n文件夹路径:{:?}\n文件名-无后缀:{:?}\n后缀:{:?}",path,parent,file_stem,extension);
}

递归遍历文件夹里的所有文件

在cargo.toml里添加walkdir

[dependencies]
walkdir = "2"
use std::path::Path;
use walkdir::WalkDir;
fn main() {
let paths = ["F:/AUPMODEL/1156668","F:/AUPMODEL/1156678"];
for path in paths.iter()
    {
        let path = Path::new(path);
        for entry in WalkDir::new(path)
         {
            let entry = entry.unwrap();
            println!("{}", entry.path().display());
        }
    }
    }

你可能感兴趣的:(Rust)