pub struct Walker { /* private fields */ }Expand description
异步目录遍历器
Implementations§
Source§impl Walker
impl Walker
Sourcepub fn with_options(options: WalkOptions) -> Result<Self, WalkError>
pub fn with_options(options: WalkOptions) -> Result<Self, WalkError>
使用指定选项创建新的遍历器
Sourcepub async fn walk<P: AsRef<Path>>(
&self,
path: P,
) -> Result<impl Stream<Item = Result<WalkEntry, WalkError>> + Unpin + use<P>, WalkError>
pub async fn walk<P: AsRef<Path>>( &self, path: P, ) -> Result<impl Stream<Item = Result<WalkEntry, WalkError>> + Unpin + use<P>, WalkError>
遍历目录
返回一个 Stream,用于流式获取遍历结果,避免一次性收集所有条目导致的内存使用过高问题。
§Examples
use itools_walker::Walker;
use tokio_stream::StreamExt;
#[tokio::main]
async fn main() {
let walker = Walker::new().unwrap();
let mut stream = walker.walk(".").await.unwrap();
while let Some(entry) = stream.next().await {
match entry {
Ok(walk_entry) => println!("Found: {:?}", walk_entry.path),
Err(e) => println!("Error: {:?}", e),
}
}
}Trait Implementations§
Auto Trait Implementations§
impl Freeze for Walker
impl RefUnwindSafe for Walker
impl Send for Walker
impl Sync for Walker
impl Unpin for Walker
impl UnsafeUnpin for Walker
impl UnwindSafe for Walker
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more