7 个版本
0.1.6 | 2020 年 9 月 5 日 |
---|---|
0.1.5 | 2019 年 9 月 5 日 |
0.1.1 | 2019 年 8 月 22 日 |
1210 在 文件系统
11KB
203 行
Finder
Crate finder
是一个非常简单且轻量级的文件搜索器,具有文件过滤功能。它提供了高效的递归文件搜索实现。
要使用此 crate,将 finder
添加到项目的 Cargo.toml
依赖项中
[dependencies]
finder = "0.1"
示例
以下代码递归搜索 /foo
和 /bar
目录中的所有文件
extern crate finder;
use finder::Finder;
fn main() {
let finders = Finder::new("/foo:/bar");
for i in finders.into_iter() {
println!("{}", i.path().to_str().unwrap());
}
}
带有过滤器的示例
以下代码递归搜索 .ttf
和 .ttc
文件,位于 /foo
和 /bar
目录中
extern crate finder;
use std::fs::DirEntry;
use finder::Finder;
fn is_font_file(e: &DirEntry) -> bool {
if let Some(s) = e.path().file_name() {
let name = String::from(s.to_str().unwrap());
if (name.ends_with(".ttf") || name.ends_with(".ttc")) {
return true;
}
}
false
}
fn main() {
let finders = Finder::new("/foo:/bar");
for i in finders.filter(&is_font_file).into_iter() {
println!("{}", i.path().to_str().unwrap());
}
}
依赖项
~87KB