📜  rust 当前目录列表文件 (1)

📅  最后修改于: 2023-12-03 15:34:46.777000             🧑  作者: Mango

Rust 当前目录列表文件

如果你需要在 Rust 程序中列出当前目录下的文件列表,可以使用标准库中的 std::fs 模块。这个模块提供了一个 read_dir 函数来读取目录中的文件和子目录。

使用

以下是一个简单的例子,该示例读取当前目录并打印文件和子目录的名称:

use std::fs;

fn main() -> Result<(), std::io::Error> {
    let paths = fs::read_dir(".")?;

    for path in paths {
        let name = path?.file_name();
        println!("{}", name.to_string_lossy());
    }

    Ok(())
}
  • fs::read_dir 函数返回一个 ReadDir 迭代器,该迭代器包含当前目录中的所有文件和子目录的路径。
  • path? 表示尝试读取目录并将结果作为 PathBuf 对象返回。如果读取失败,则返回 std::io::Error 类型的错误。
  • name 变量包含当前路径的文件名称。
  • name.to_string_lossy() 方法将文件名称转换为字符串并处理所有无效的 Unicode 序列。
Markdown 片段
# Rust 当前目录列表文件

如果你需要在 Rust 程序中列出当前目录下的文件列表,可以使用标准库中的 `std::fs` 模块。这个模块提供了一个 `read_dir` 函数来读取目录中的文件和子目录。

## 使用

以下是一个简单的例子,该示例读取当前目录并打印文件和子目录的名称:

```rust
use std::fs;

fn main() -> Result<(), std::io::Error> {
    let paths = fs::read_dir(".")?;

    for path in paths {
        let name = path?.file_name();
        println!("{}", name.to_string_lossy());
    }

    Ok(())
}
  • fs::read_dir 函数返回一个 ReadDir 迭代器,该迭代器包含当前目录中的所有文件和子目录的路径。
  • path? 表示尝试读取目录并将结果作为 PathBuf 对象返回。如果读取失败,则返回 std::io::Error 类型的错误。
  • name 变量包含当前路径的文件名称。
  • name.to_string_lossy() 方法将文件名称转换为字符串并处理所有无效的 Unicode 序列。