📜  将路径转换为 pathbuf - Rust (1)

📅  最后修改于: 2023-12-03 15:25:22.289000             🧑  作者: Mango

将路径转换为 PathBuf - Rust

在 Rust 中操作文件路径通常需要使用 std::path::Pathstd::path::PathBuf 这两个类型。Path 表示的是路径的不可变引用,而 PathBuf 则表示的是路径的可变引用。本文将介绍如何将路径转换为 PathBuf 类型。

使用 std::path::PathBuf::from()

std::path::PathBuf::from() 方法可以将一个字符串类型的路径转换为 PathBuf 类型。下面是一个例子:

use std::path::PathBuf;

fn main() {
    let path_string = "/path/to/my/file.txt";
    let path_buf = PathBuf::from(path_string);

    println!("path_buf = {:?}", path_buf);
}

输出:

path_buf = "/path/to/my/file.txt"
使用 std::path::Path::to_path_buf()

如果已经有一个 Path 类型的路径,在需要可变引用的情况下可以通过 to_path_buf() 方法转换为 PathBuf 类型。下面是一个例子:

use std::path::{Path, PathBuf};

fn main() {
    let path = Path::new("/path/to/my/file.txt");
    let path_buf = path.to_path_buf();

    println!("path_buf = {:?}", path_buf);
}

输出:

path_buf = "/path/to/my/file.txt"
总结

本文介绍了如何将路径转换为 PathBuf 类型,包括使用 std::path::PathBuf::from()std::path::Path::to_path_buf() 方法。在 Rust 中操作文件路径时,代码片段中通常会用到这两个方法,因此熟练掌握这些方法对于操作文件路径是非常重要的。