2 releases
0.1.1 | Feb 10, 2022 |
---|---|
0.1.0 | Feb 9, 2022 |
#1028 in Filesystem
955 downloads per month
Used in krapslog
17KB
222 lines
file-chunker
This crate provides the FileChunker
type, which is useful for efficiently reading a file
in (approximately) equally-sized parts.
The original use case was to process a log file in chunks, one thread per chunk, and to guarantee that each chunk ended with a full line of text.
Example
use file_chunker::FileChunker;
let file = std::fs::File::open("/path/to/file").unwrap();
let chunker = FileChunker::new(&file).unwrap();
chunker.chunks(1024, Some('\n'))
.unwrap()
.iter()
.for_each(|chunk| {
println!("{:?}", chunk);
});
lib.rs
:
This crate provides the FileChunker
type, which is useful for efficiently reading a file
in (approximately) equally-sized parts.
The original use case was to process a log file in chunks, one thread per chunk, and to guarantee that each chunk ended with a full line of text.
Example
use file_chunker::FileChunker;
let file = std::fs::File::open("/path/to/file").unwrap();
let chunker = FileChunker::new(&file).unwrap();
chunker.chunks(1024, Some('\n'))
.unwrap()
.iter()
.for_each(|chunk| {
println!("{:?}", chunk);
});
Dependencies
~300KB