在Rust中逐行读取大文件

时间:2017-08-25 13:15:41

标签: rust

My Rust程序旨在逐行读取非常大(最多几GB)的简单文本文件。问题是,此文件太大而无法立即读取,或将所有行转移到Vec<String>

在Rust中处理这个问题的惯用方法是什么?

1 个答案:

答案 0 :(得分:21)

您可以找到示例on the internet

use std::fs::File;
use std::io::{BufRead, BufReader, Result};

fn main() -> Result<()> {
    let file = File::open("file.txt")?;
    for line in BufReader::new(file).lines() {
        println!("{}", line?);
    }
    Ok(())
}

BufReader.lines()是您需要的功能。请注意,您返回了换行符,如文档中所述。