#read-line #file-line #index-file #indexed #indexable #async #read-by-line

indexed_file

一个高效的按行索引和读取大文件的库

3 个版本

0.1.2 2021 年 7 月 31 日
0.1.1 2021 年 7 月 25 日
0.1.0 2021 年 7 月 11 日

#2 in #indexable


split-csv 中使用

AGPL-3.0

51KB
604 代码行

IndexedFile

一个库,可以直接读取文件中的行,而无需读取请求之外的行。

示例

非索引文件

use indexed_file::{Indexable, ReadByLine};

#[async_std::main]
async fn main() {
    // Open and index a file
    let mut file = indexed_file::File::open_raw("<some unindexed file>")
        .await
        .unwrap();

    // Get line count efficiently without reading the entire file
    let line_count = file.total_lines();

    // Read line 30 directly
    let line_30 = file.read_line(30).await.unwrap();
}

索引文件

use indexed_file::{Indexable, ReadByLine};

#[async_std::main]
async fn main() {
    // Open an indexed file
    let mut file = indexed_file::File::open("<some indexed file>")
        .await
        .unwrap();

    // Read line 30 directly
    let line_30 = file.read_line(30).await.unwrap();
}

更多示例请访问 示例目录

无运行时依赖