Expand description
A FAT filesystem library implemented in Rust.
§Usage
This crate is on crates.io and can be
used by adding fatfs
to the dependencies in your project’s Cargo.toml
.
[dependencies]
fatfs = "0.3"
And this in your crate root:
extern crate fatfs;
§Examples
// Declare external crates
// Note: `fscommon` crate is used to speedup IO operations
extern crate fatfs;
extern crate fscommon;
use std::io::prelude::*;
fn main() -> std::io::Result<()> {
// Initialize a filesystem object
let img_file = std::fs::OpenOptions::new().read(true).write(true)
.open("tmp/fat.img")?;
let buf_stream = fscommon::BufStream::new(img_file);
let fs = fatfs::FileSystem::new(buf_stream, fatfs::FsOptions::new())?;
let root_dir = fs.root_dir();
// Write a file
root_dir.create_dir("foo")?;
let mut file = root_dir.create_file("foo/hello.txt")?;
file.truncate()?;
file.write_all(b"Hello World!")?;
// Read a directory
let dir = root_dir.open_dir("foo")?;
for r in dir.iter() {
let entry = r?;
println!("{}", entry.file_name());
}
}
Structs§
TimeProvider
implementation that returns current local time retrieved fromchrono
crate.- A DOS compatible date.
- A DOS compatible date and time.
- A FAT filesystem directory.
- A FAT directory entry.
- An iterator over the directory entries.
- A FAT filesystem file object used for reading and writing data.
- A FAT file attributes.
- A FAT filesystem object.
- A FAT volume statistics.
- A FAT filesystem formatting options
- A FAT filesystem mount options.
- A FAT volume status flags retrived from the Boot Sector and the allocation table second entry.
- Default implementation of
OemCpConverter
that changes all non-ASCII characters to the replacement character (U+FFFD). TimeProvider
implementation that always returns DOS minimal date-time (1980-01-01 00:00:00).- A DOS compatible time.
Enums§
- A type of FAT filesystem.
- Error type returned as the inner error for errors with ErrorKind::Other.
Constants§
Traits§
- An OEM code page encoder/decoder.
- A sum of
Read
andSeek
traits. - A sum of
Read
,Write
andSeek
traits. - A current time and date provider.
Functions§
- Create FAT filesystem on a disk or partition (format a volume)
- Ensures the filename has no trailing spaces or dots.
Type Aliases§
- Default time provider implementation.