Метод with_file_name
Метод with_file_name создаёт новый объект
PathBuf на основе текущего пути, заменяя
в нём последний компонент (имя файла или каталога)
на переданное значение. Метод не изменяет исходный
путь, а возвращает новый. Параметром метод принимает
новое имя файла, которое нужно подставить вместо
последнего компонента пути.
Синтаксис
path.with_file_name(file_name)
Пример
Давайте заменим имя файла в пути
"/home/user/file.txt" на
"document.txt":
use std::path::Path;
fn main()
{
let path = Path::new("/home/user/file.txt");
let res = path.with_file_name("document.txt");
println!("{}", res.display());
}
Результат выполнения кода:
/home/user/document.txt
Пример
Давайте заменим последний компонент в пути
"abcde/12345" на
"file.txt":
use std::path::Path;
fn main()
{
let path = Path::new("abcde/12345");
let res = path.with_file_name("file.txt");
println!("{}", res.display());
}
Результат выполнения кода:
abcde/file.txt
Пример
Давайте заменим имя файла в пути, заканчивающемся
на "..", на "file.txt":
use std::path::Path;
fn main()
{
let path = Path::new("abcde/..");
let res = path.with_file_name("file.txt");
println!("{}", res.display());
}
Результат выполнения кода:
abcde/file.txt
Смотрите также
-
метод
file_name,
который возвращает последний компонент пути -
метод
file_stem,
который возвращает имя файла без расширения -
метод
with_extension,
который заменяет расширение файла -
метод
parent,
который возвращает родительский каталог пути