#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

#604 in Algorithms

Download history 1396/week @ 2024-03-14 1313/week @ 2024-03-21 1637/week @ 2024-03-28 1056/week @ 2024-04-04 1457/week @ 2024-04-11 1275/week @ 2024-04-18 1970/week @ 2024-04-25 1959/week @ 2024-05-02 1230/week @ 2024-05-09 1270/week @ 2024-05-16 2177/week @ 2024-05-23 2405/week @ 2024-05-30 1971/week @ 2024-06-06 3209/week @ 2024-06-13 2914/week @ 2024-06-20 1958/week @ 2024-06-27

10,325 downloads per month
Used in 7 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

~320–790KB
~19K SLoC