如何正确地在Rust 1.x中读写文件?文件操作的事实标准方法
大家好!我是Rust新手,正在尝试理解文件的读写操作。在其他语言(比如Python)中,这通常一行代码就能搞定,但在Rust里我遇到了很多选项:`std::fs::File`、`BufReader`、`read_to_string`、`write_all`……让我有点头晕。
我需要解决两个简单的问题:
1. 将整个文本文件读入一个字符串。
2. 将一个字符串写入文件(创建新文件或覆盖已有文件)。
我试过这样的代码,但感觉太冗长了:
```rust
use std::fs::File;
use std::io::Read;
fn main() {
let mut file = File::open("data.txt").unwrap();
let mut contents = String::new();
file.read_to_string(&mut contents).unwrap();
println!("{}", contents);
}
```
以及写入:
```rust
use std::fs::File;
use std::io::Write;
fn main() {
let mut file = File::create("output.txt").unwrap();
file.write_all(b"Hello, Rust!").unwrap();
}
```
问题:
- 这是正确的方法吗?或者有更符合习惯的做法?