positioned-io2

This crate allows you to specify an offset for reads and writes, without changing the current position in a file. This is similar to pread() and pwrite() in C.

The major advantages of this type of I/O are:

Crates.io Documentation

Fork

This is a fork of positioned-io, which seem to have become unmaintained.

Example

Read the fifth 512-byte sector of a file:

```rust use std::fs::File; use positioned_io2::ReadAt;

// note that file does not need to be mut let file = File::open("tests/pi.txt")?;

// read up to 512 bytes let mut buf = [0; 512]; let bytesread = file.readat(2048, &mut buf)?; ```

Note: If possible use the RandomAccessFile wrapper. On Windows ReadAt directly on File is very slow.

License

positioned-io2 is licensed under the MIT license.