РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
880 of 1245 menu

Метод path

Метод path возвращает значение типа PathBuf - полный путь к файлу или директории, которую представляет данная запись DirEntry. Путь строится путём соединения пути каталога, для которого был вызван метод read_dir, с именем файла, полученным из записи. Метод не принимает параметров и возвращает новый объект PathBuf, который можно использовать для дальнейшей работы с файловой системой.

Запись DirEntry обычно получается в результате обхода содержимого каталога с помощью метода read_dir. Метод path удобен тем, что сразу возвращает готовый путь, не требуя ручного соединения частей.

Синтаксис

dir_entry.path()

Пример

Давайте создадим временный каталог с одним файлом и получим полный путь к этому файлу через метод path:

use std::fs; use std::io; fn main() -> io::Result<()> { let dir = "test_dir"; fs::create_dir_all(dir)?; fs::write(format!("{}/file.txt", dir), "hello")?; for entry in fs::read_dir(dir)? { let entry = entry?; let res = entry.path(); println!("{:?}", res); } fs::remove_dir_all(dir)?; Ok(()) }

Результат выполнения кода:

"test_dir/file.txt"

Пример

Давайте получим имя файла из записи и построим путь вручную, чтобы сравнить его с результатом метода path:

use std::fs; use std::io; use std::path::PathBuf; fn main() -> io::Result<()> { let dir = "test_dir"; fs::create_dir_all(dir)?; fs::write(format!("{}/file.txt", dir), "hello")?; for entry in fs::read_dir(dir)? { let entry = entry?; let name = entry.file_name(); let manual: PathBuf = PathBuf::from(dir).join(&name); let res = entry.path(); println!("manual: {:?}", manual); println!("path: {:?}", res); } fs::remove_dir_all(dir)?; Ok(()) }

Результат выполнения кода:

manual: "test_dir/file.txt" path: "test_dir/file.txt"

Смотрите также

  • класс DirEntry,
    который представляет запись каталога
  • метод file_name,
    который возвращает имя файла из записи
  • метод file_type,
    который возвращает тип файла из записи
  • метод metadata,
    который возвращает метаданные файла из записи
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить