温馨提示×

Rust如何在Linux中进行文件操作

小樊
35
2025-12-02 13:11:49
栏目: 编程语言

在Rust中,你可以使用标准库中的std::fs模块来进行文件操作。以下是一些基本的文件操作示例:

打开文件

use std::fs::File;
use std::io::{self, Read};

fn main() -> io::Result<()> {
    let mut file = File::open("example.txt")?;
    let mut contents = String::new();
    file.read_to_string(&mut contents)?;
    println!("File contents: {}", contents);
    Ok(())
}

创建文件

use std::fs::File;
use std::io::Write;

fn main() -> std::io::Result<()> {
    let mut file = File::create("example.txt")?;
    file.write_all(b"Hello, world!")?;
    Ok(())
}

写入文件

use std::fs::File;
use std::io::{self, Write};

fn main() -> std::io::Result<()> {
    let mut file = File::create("example.txt")?;
    file.write_all(b"Hello, world!")?;
    file.sync_all()?; // 确保数据被写入磁盘
    Ok(())
}

追加内容到文件

use std::fs::OpenOptions;
use std::io::{self, Write};

fn main() -> std::io::Result<()> {
    let mut file = OpenOptions::new().append(true).open("example.txt")?;
    file.write_all(b"\nNew line!")?;
    file.sync_all()?; // 确保数据被写入磁盘
    Ok(())
}

删除文件

use std::fs;

fn main() -> std::io::Result<()> {
    fs::remove_file("example.txt")?;
    Ok(())
}

重命名文件

use std::fs;

fn main() -> std::io::Result<()> {
    fs::rename("example.txt", "new_example.txt")?;
    Ok(())
}

检查文件是否存在

use std::path::Path;

fn main() -> std::io::Result<()> {
    let path = Path::new("example.txt");
    if path.exists() {
        println!("File exists!");
    } else {
        println!("File does not exist.");
    }
    Ok(())
}

获取文件信息

use std::fs::{Metadata, File};
use std::path::Path;

fn main() -> std::io::Result<()> {
    let path = Path::new("example.txt");
    let metadata: Metadata = path.metadata()?;
    println!("File size: {}", metadata.len());
    Ok(())
}

这些示例展示了如何在Rust中进行基本的文件操作。你可以根据需要组合这些操作来实现更复杂的功能。记得处理可能的错误,因为文件操作可能会失败(例如,文件不存在或没有权限访问)。

0