5 unstable releases

Uses old Rust 2015

0.3.1 Mar 28, 2021
0.3.0 Dec 15, 2019
0.2.0 Jan 13, 2019
0.1.1 Jan 13, 2019
0.1.0 Sep 9, 2018

#1113 in Filesystem

Download history 2/week @ 2024-06-17 22/week @ 2024-07-01 86/week @ 2024-07-22

108 downloads per month
Used in 2 crates

MIT license

12KB
168 lines

larry

treat a file as a l(ine) arr(a)y

Larry is facilitates handling extremely long text files by allowing you to treat them as an immutable list of lines. Only those lines you access are read. For unread lines only their initial byte offset is saved, so memory demands are light regardless of the length of the file. Because only those bytes are decoded whose lines are accessed, processing demands are light.

Larry scans the file initially for line-terminal byte sequences, considering, for the time being, only the various combinations of carriage return and newline that various conventions consider to be line-terminal: 0x0A, 0x0D, 0x0A0D, and 0x0D0A. Larry doesn't "watch" its file, so if lines are added, they will not become accessible.

Larry was inspired by the Perl module IO::All.

No runtime deps