Rust 写入文件
最后修改于 2025 年 2 月 19 日
本文介绍如何在 Rust 中写入文件。
文件
文件 是用于存储数据的命名位置。Rust 提供了 std::fs 模块来处理文件。
打开文件
要写入文件,我们必须先打开它。File::create 方法会创建一个新文件或截断一个现有文件。
main.rs
use std::fs::File;
use std::io::Error;
fn main() -> Result<(), Error> {
let file = File::create("test.txt")?;
Ok(())
}
程序创建一个名为 test.txt 的新文件。
let file = File::create("test.txt")?;
我们创建一个文件并将其存储在一个变量中。
? 运算符用于处理错误。如果方法返回错误,程序将终止。
写入文件
要将数据写入文件,我们使用 write! 宏。
main.rs
use std::fs::File;
use std::io::{Error, Write};
fn main() -> Result<(), Error> {
let mut file = File::create("test.txt")?;
writeln!(file, "This is a test file.")?;
Ok(())
}
程序将一个字符串写入文件。
writeln!(file, "This is a test file.")?;
我们使用 writeln! 宏将一行写入文件。
读写文件
文件可以同时打开用于读取和写入。File::open 方法打开一个文件用于读取。
main.rs
use std::fs::File;
use std::io::{Error, Read, Write};
use std::io::prelude::*;
fn main() -> Result<(), Error> {
let mut file = File::open("test.txt")?;
let mut contents = String::new();
file.read_to_string(&mut contents)?;
println!("{contents}");
file.write_all(b"This is a test file.")?;
Ok(())
}
程序读取文件内容并向其中写入新数据。
let mut file = File::open("test.txt")?;
我们打开文件进行读取。
let mut contents = String::new(); file.read_to_string(&mut contents)?;
我们将文件内容读取到一个字符串中。
file.write_all(b"This is a test file.")?;
我们将新数据写入文件。
关闭文件
完成后关闭文件非常重要。File::drop 方法用于关闭文件。
main.rs
use std::fs::File;
use std::io::{Error, Read, Write};
use std::io::prelude::*;
fn main() -> Result<(), Error> {
let mut file = File::open("test.txt")?;
let mut contents = String::new();
file.read_to_string(&mut contents)?;
println!("{contents}");
file.write_all(b"This is a test file.")?;
file.drop();
Ok(())
}
程序在写入文件后关闭它。
file.drop();
drop 方法在文件变量上调用。
在本文中,我们介绍了如何在 Rust 中写入文件。
作者
列出 所有 Rust 教程。