📜  检查文件是否存在 rust (1)

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

检查文件是否存在 Rust

在 Rust 中,可以通过标准库中的 std::fs 模块来检查文件是否存在。

检查文件是否存在

使用 std::fs::metadata 函数可以获取文件的元数据。如果文件不存在,将返回错误。

以下是一个示例代码:

use std::fs;

fn main() {
    let file_path = "path/to/file.txt";
    let metadata = fs::metadata(file_path);
    match metadata {
        Ok(_) => println!("File exists."),
        Err(_) => println!("File does not exist."),
    }
}

在上面的示例中,file_path 变量存储要检查的文件的路径。fs::metadata 函数返回一个 Result 类型。如果文件存在,将返回一个 Ok 变体,否则将返回一个 Err 变体。

代码说明
  • 我们首先导入 std::fs 模块。

    use std::fs;
    
  • 然后定义 file_path 变量存储要检查的文件的路径。

    let file_path = "path/to/file.txt";
    
  • 接着调用 fs::metadata 函数并将指定的文件路径作为参数传入。

    let metadata = fs::metadata(file_path);
    
  • 最后根据返回值判断文件是否存在。

使用 std::fs::exists 函数快速检查文件是否存在

如果您只是需要快速检查文件是否存在,也可以使用 std::fs::exists 函数。这个函数会在底层调用 std::fs::metadata 函数。

以下是一个示例代码:

use std::fs;

fn main() {
    let file_path = "path/to/file.txt";
    if fs::exists(file_path) {
        println!("File exists.");
    } else {
        println!("File does not exist.");
    }
}

在上面的示例中,我们使用 if 语句和 fs::exists 函数来检查文件是否存在。如果文件存在,将输出“File exists.”,否则将输出“File does not exist.”。

总结

这是在 Rust 中检查文件是否存在的方法。使用 std::fs::metadata 函数获取文件元数据,或者使用 std::fs::exists 函数快速检查文件是否存在。