Метод read_dir
Метод read_dir возвращает итератор
по записям директории, представленной
данным путём. Он возвращает значение
типа io::Result<ReadDir>, где
ReadDir - это итератор, элементами
которого являются значения
io::Result<DirEntry>. Параметров
метод не принимает. Если директория
не существует или недоступна для чтения,
будет возвращена ошибка. Каждый элемент
итератора содержит информацию о файле
или поддиректории, включая имя, тип и
путь.
Синтаксис
path.read_dir()
Пример
Давайте прочитаем содержимое текущей директории и выведем имена найденных элементов:
use std::path::Path;
fn main()
{
let path = Path::new(".");
let entries = path.read_dir().unwrap();
for entry in entries
{
let entry = entry.unwrap();
println!("{:?}", entry.file_name());
}
}
Результат выполнения кода (примерный):
"src"
"Cargo.toml"
Пример
Давайте подсчитаем количество элементов в директории:
use std::path::Path;
fn main()
{
let path = Path::new(".");
let count = path.read_dir().unwrap().count();
println!("{}", count);
}
Результат выполнения кода (примерный):
2
Пример
Давайте получим полные пути всех элементов
директории с помощью метода path
из DirEntry:
use std::path::Path;
fn main()
{
let path = Path::new(".");
let entries = path.read_dir().unwrap();
for entry in entries
{
let entry = entry.unwrap();
println!("{:?}", entry.path());
}
}
Результат выполнения кода (примерный):
"./src"
"./Cargo.toml"