| Crates.io | file-region |
| lib.rs | file-region |
| version | 0.1.0 |
| created_at | 2024-09-12 12:44:11.197283+00 |
| updated_at | 2024-09-12 12:44:11.197283+00 |
| description | Encapsulates a contiguous byte range of a file |
| homepage | |
| repository | https://github.com/xpe/file-region |
| max_upload_size | |
| id | 1372732 |
| size | 13,401 |
This crate provides a FileRegion type which encapsulates a particular region of a File.
You can find this example at examples/basic.rs and run it with cargo run --example basic.
use file_region::FileRegion;
use std::io::{Read, Seek, SeekFrom, Write};
use tempfile::tempfile;
fn main() -> std::io::Result<()> {
let mut file = tempfile()?;
file.write_all(b"Hello, FileRegion.")?;
let mut region = FileRegion::new(&file, 7..16);
let mut buffer = [0; 9];
region.read(0, &mut buffer)?;
assert_eq!(&buffer, b"FileRegio");
region.write(0, b"01234")?;
let mut content = String::new();
file.seek(SeekFrom::Start(0))?;
file.read_to_string(&mut content)?;
assert_eq!(content, "Hello, 01234egion.");
Ok(())
}