#iterator #buffer #reverse #line #reader

rev_lines

Rust Iterator for reading files line by line with a buffer in reverse

5 unstable releases

0.3.0 Jun 22, 2023
0.2.2 May 10, 2023
0.2.1 Apr 27, 2017
0.2.0 Feb 1, 2017
0.1.0 Feb 1, 2017

#530 in Algorithms

Download history 1426/week @ 2024-12-14 959/week @ 2024-12-21 731/week @ 2024-12-28 1681/week @ 2025-01-04 2180/week @ 2025-01-11 1993/week @ 2025-01-18 2159/week @ 2025-01-25 3783/week @ 2025-02-01 4187/week @ 2025-02-08 2546/week @ 2025-02-15 3189/week @ 2025-02-22 3505/week @ 2025-03-01 2353/week @ 2025-03-08 4386/week @ 2025-03-15 3012/week @ 2025-03-22 2023/week @ 2025-03-29

12,320 downloads per month
Used in 13 crates (12 directly)

MIT license

17KB
264 lines

RevLines

This library provides a small Rust Iterator for reading files or any BufReader line by line with buffering in reverse.

Example

use std::fs::File;

use rev_lines::RevLines;

let file = File::open("README.md").unwrap();
let rev_lines = RevLines::new(file);

for line in rev_lines {
    println!("{:?}", line);
}

If a line with invalid UTF-8 is encountered, the iterator will return None next, and stop iterating.

This method uses logic borrowed from uutils/coreutils tail


rev_lines

rev-lines MIT licensed crates.io

This library provides a small Rust Iterator for reading files line by line with a buffer in reverse

Documentation

Documentation is available on Docs.rs.

Example

use std::fs::File;

use rev_lines::RevLines;

let file = File::open("README.md").unwrap();
let rev_lines = RevLines::new(file);

for line in rev_lines {
    println!("{:?}", line);
}

Dependencies

~210–650KB
~15K SLoC