Function std::fs::read_dir 1.0.0
[−]
[src]
pub fn read_dir<P: AsRef<Path>>(path: P) -> Result<ReadDir>
Returns an iterator over the entries within a directory.
The iterator will yield instances of io::Result<DirEntry>. New errors may be encountered after an iterator is initially constructed.
Platform-specific behavior
This function currently corresponds to the opendir function on Unix and the FindFirstFile function on Windows. Note that, this [may change in the future][changes]. [changes]: ../io/index.html#platform-specific-behavior
Errors
This function will return an error in the following situations, but is not limited to just these cases:
- The provided
pathdoesn't exist. - The process lacks permissions to view the contents.
- The
pathpoints at a non-directory file.
Examples
use std::io; use std::fs::{self, DirEntry}; use std::path::Path; // one possible implementation of walking a directory only visiting files fn visit_dirs(dir: &Path, cb: &Fn(&DirEntry)) -> io::Result<()> { if dir.is_dir() { for entry in fs::read_dir(dir)? { let entry = entry?; let path = entry.path(); if path.is_dir() { visit_dirs(&path, cb)?; } else { cb(&entry); } } } Ok(()) }Run