Rust编程中的文件操作
文件操作通常包括I/O操作。Rust为我们提供了处理所有这些操作的不同方法。
打开
Rust提供了一种开放的静态方法,我们可以使用该方法以只读模式打开文件。
示例
考虑下面显示的代码:
use std::fs::File;
use std::io::prelude::*;
use std::path::Path;
fn main() {
//创建所需文件的路径
let path = Path::new("out.txt");
let display = path.display();
let mut file = match File::open(&path) {
Err(why) => panic!("unable to open {}: {}", display, why),
Ok(file) => file,
};
let mut s = String::new();
match file.read_to_string(&mut s) {
Err(why) => panic!("unable to read {}: {}", display, why),
Ok(_) => print!("{} it contains:\n{}", display, s),
}
// `file` goes out of scope, and the "out.txt" file gets
closed
}输出结果上面代码的输出是
out.txt contains: Hello World!
创造
create方法以只写模式打开文件,如果该文件已经存在,则旧内容将被销毁。
示例
static RANDOM_TEXT: &str = "Lorem ipsum dolor sit AMEN, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.";
use std::fs::File;
use std::io::prelude::*;
use std::path::Path;
fn main() {
let path = Path::new("random_text.txt");
let display = path.display();
//以仅写模式打开文件,返回io::Result
let mut file = match File::create(&path) {
Err(why) => panic!("couldn't create {}: {}", display, why),
Ok(file) => file,
};
//将`RANDOM_TEXT`字符串写入`file`,返回
`io::Result<()>`
match file.write_all(RANDOM_TEXT.as_bytes()) {
Err(why) => panic!("couldn't write to {}: {}", display, why),
Ok(_) => println!("successfully wrote to {}", display),
}
}输出结果当我们运行以下命令时:
cat random_text.txt
我们得到的输出是:
Lorem ipsum dolor sit AMEN, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
热门推荐
10 读书祝福语女生短句简短
11 感谢同事新婚祝福语简短
12 感谢教官文案祝福语简短
13 员工聚会蛋糕祝福语简短
14 元宵发客户祝福语简短
15 给团队信心祝福语简短
16 医美的祝福语大全简短
17 异国姻缘的祝福语简短
18 兄妹拍照祝福语简短的话