📅  最后修改于: 2023-12-03 15:25:22.289000             🧑  作者: Mango
PathBuf
- Rust在 Rust 中操作文件路径通常需要使用 std::path::Path
和 std::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 中操作文件路径时,代码片段中通常会用到这两个方法,因此熟练掌握这些方法对于操作文件路径是非常重要的。