ape-fatfs

Crates.ioape-fatfs
lib.rsape-fatfs
version0.2.0
sourcesrc
created_at2023-04-22 02:41:58.294415
updated_at2023-05-17 19:54:50.533083
descriptionversitile FAT library for embedded systems
homepage
repositoryhttps://github.com/Gip-Gip/ape-fatfs
max_upload_size
id845785
size295,798
Charles Thompson (Gip-Gip)

documentation

README

ApeFATFS

MIT License Crates.io Documentation APE

versitile FAT library for embedded systems

Usage

This crate is can be used by adding fatfs to the dependencies in your project's Cargo.toml.

[dependencies]
ape-fatfs = "0.2.0"
# Comment out the above and uncomment the below to enable no_std support
# ape-fatfs = { default_features = false, version = 0.2.0 }

Examples

use std::io::prelude::*;
use ape_fatfs::{
    fs::{
        FsOptions,
        FileSystem,
    }
};

fn main() {
    # std::fs::copy("resources/fat16.img", "fat.img").unwrap();
    // Initialize a filesystem object
    let img_file = std::fs::OpenOptions::new().read(true).write(true)
        .open("fat.img").unwrap();
    let buf_stream = fscommon::BufStream::new(img_file);
    let fs = FileSystem::new(buf_stream, FsOptions::new()).unwrap();
    let root_dir = fs.root_dir();

    // Write a file
    root_dir.create_dir("foo").unwrap();
    let mut file = root_dir.create_file("foo/hello.txt").unwrap();
    file.truncate().unwrap();
    file.write_all(b"Hello World!").unwrap();

    // Read a directory
    let dir = root_dir.open_dir("foo").unwrap();
    for r in dir.iter() {
        let entry = r.unwrap();
        println!("{}", entry.file_name());
    }
    # std::fs::remove_file("fat.img").unwrap();
}
Commit count: 350

cargo fmt