#line #file-line #reverse #iterator #buffer #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

#647 in Algorithms

Download history 1583/week @ 2024-01-02 1691/week @ 2024-01-09 2181/week @ 2024-01-16 1774/week @ 2024-01-23 1882/week @ 2024-01-30 1302/week @ 2024-02-06 1639/week @ 2024-02-13 2060/week @ 2024-02-20 2482/week @ 2024-02-27 968/week @ 2024-03-05 1308/week @ 2024-03-12 1356/week @ 2024-03-19 1435/week @ 2024-03-26 1447/week @ 2024-04-02 1392/week @ 2024-04-09 1275/week @ 2024-04-16

5,769 downloads per month
Used in 6 crates

MIT license

17KB
264 lines

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);
}

lib.rs:

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

Dependencies

~315–780KB
~18K SLoC