Rust编程:文件处理与数据封装详解
1. 文件处理基础
在Rust中,文件对象在创建时必然是打开的,并且不能显式关闭。也就是说,只要文件对象存在,它就处于打开状态。若要提前关闭文件对象,可以添加一对花括号,将文件必须保持打开状态的代码部分括起来。
当处理包含原始文本的文件(如程序源文件)时,按行处理会更加方便。以下是一个计算文本文件行数以及空行或仅含空白字符行数的程序示例:
let mut command_line = std::env::args();
command_line.next();
let pathname = command_line.next().unwrap();
let counts = count_lines(&pathname).unwrap();
println!("file: {}", pathname);
println!("n. of lines: {}", counts.0);
println!("n. of empty lines: {}", counts.1);
fn count_lines(pathname: &str)
-> Result<(u32, u32), std::io::Error> {
use std::io::BufRead;
let f = std::fs::File::open(pathname)?;
let f = std::io::BufReader::new(f);
let mut n_lines = 0;
let mut n_empty_lines = 0;
for l
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



