PathBuf
file pathを安全に扱うための型
pathを便利に扱うためのmethodが生えている
rsuse std::path::PathBuf;
fn main() {
let mut path = PathBuf::from("/home/user");
path.push("documents");
path.push("file.txt");
println!("{:?}", path); // "/home/user/documents/file.txt"
}
拡張子の取得
rsfn main() {
let path = PathBuf::from("example.tar.gz");
if let Some(ext) = path.extension() {
println!("拡張子: {:?}", ext);
}
}
親ディレクトリの取得
rsfn main() {
let path = PathBuf::from("/home/user/documents/file.txt");
if let Some(parent) = path.parent() {
println!("親ディレクトリ: {:?}", parent);
}
}
絶対pathに変換
rsfn main() {
let path = PathBuf::from("file.txt");
match path.canonicalize() {
Ok(absolute_path) => println!("絶対パス: {:?}", absolute_path),
Err(e) => eprintln!("エラー: {:?}", e),
}
}
Stringと&strと同じ
雑認識