2017-08-25 344 views
-2

我的Rust程序用于逐行读取非常大(最大为几GB)的简单文本文件。问题是,该文件太大而无法一次读取,或者将所有行转移到Vec<String>在Rust中逐行读取大文件

在Rust中处理这种情况的惯用方法是什么?

+2

搜索引擎是你的朋友!一个简单的搜索“逐行生锈读取文件”显示了很多精美的例子和文档。 – Kroltan

回答

1

你可以找到例子on the internet

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

fn main() { 
    let file = File::open("file.txt").unwrap(); 
    for line in BufReader::new(file).lines() { 
     println!("{}", line.unwrap()); 
    } 
} 

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

+0

请注意,换行符被认为是LF或CR,然后是LF。 –