rust读取文件目录下的文件的文件名与路径
时间: 2024-04-14 21:30:30 浏览: 364
获取指定目录下的文件路径及文件名
要读取文件目录下的文件,并获取文件名和路径,你可以结合使用`std::fs::read_dir`和`std::path::PathBuf`。下面是一个示例代码:
```rust
use std::fs;
use std::path::PathBuf;
fn main() {
// 读取目录的路径
let path = "path/to/directory";
// 使用std::fs::read_dir函数打开目录
if let Ok(entries) = fs::read_dir(path) {
// 遍历目录中的每个条目
for entry in entries {
if let Ok(entry) = entry {
// 获取条目的路径
let entry_path = entry.path();
// 获取条目的文件名
if let Some(file_name) = entry_path.file_name() {
// 将文件名转换为字符串
if let Some(file_name_str) = file_name.to_str() {
println!("File name: {}", file_name_str);
}
}
// 获取条目的完整路径
if let Some(entry_path_str) = entry_path.to_str() {
println!("File path: {}", entry_path_str);
}
}
}
} else {
println!("Failed to open directory");
}
}
```
在上面的示例中,我们使用`entry.path()`获取到每个条目的完整路径,然后使用`file_name()`方法获取文件名。注意,`file_name()`返回一个`Option<OsString>`,我们需要使用`to_str()`将其转换为字符串。
请将示例代码中的`"path/to/directory"`替换为你实际想要读取的目录的路径。
阅读全文