This crate allows you to specify an offset for reads and writes, without changing the current
position in a file. This is similar to
pwrite() in C.
The major advantages of this type of I/O are:
- You don't need to seek before doing a random-access read or write, which is convenient.
- Reads don't modify the file at all, so don't require mutability.
Read the fifth 512-byte sector of a file:
use positioned_io::ReadAt; // Note that file does not need to be mut! let file = try!(File::open("foo.data")); let mut buf = vec![0; 512]; let bytes_read = try!(file.read_at(2048, &mut buf));
This crate works with Cargo and is on
crates.io. Add it to your
Cargo.toml like so:
[dependencies] positioned-io = "0.1.0"