Класс PathBuf
Класс PathBuf представляет собой
изменяемую, владеющую строку пути в файловой
системе. Он похож на String, но
специализирован для работы с путями. В отличие
от Path, который является срезом и не
владеет данными, PathBuf владеет
содержимым и позволяет изменять путь: добавлять
компоненты, менять имя файла или расширение.
Класс PathBuf можно создать с помощью
метода new, из строки через метод
from, а также преобразовать из
Path. Для добавления компонентов
используется метод push, для удаления
последнего компонента - метод pop.
Синтаксис
use std::path::PathBuf;
let path = PathBuf::new();
let path = PathBuf::from("abcde");
Пример
Давайте создадим новый пустой PathBuf
и добавим в него компоненты пути с помощью
метода push:
use std::path::PathBuf;
fn main()
{
let mut path = PathBuf::new();
path.push("abcde");
path.push("12345");
println!("{}", path.display());
}
Результат выполнения кода:
abcde/12345
Пример
Давайте создадим PathBuf из строки
с помощью метода from и выведем его
на экран:
use std::path::PathBuf;
fn main()
{
let path = PathBuf::from("abcde/12345");
println!("{}", path.display());
}
Результат выполнения кода:
abcde/12345
Пример
Давайте удалим последний компонент пути
с помощью метода pop:
use std::path::PathBuf;
fn main()
{
let mut path = PathBuf::from("abcde/12345");
let removed = path.pop();
println!("removed: {}", removed);
println!("path: {}", path.display());
}
Результат выполнения кода:
removed: true
path: abcde