forked from M-Labs/rust-fatfs
rust-fatfs fork with rs-core_io as dependency instead. No support for chrono.
217b6046f1
This change allows for moving an object ownership to FileSystem object instead of borrowing it. It makes usage of library easier in some cases. Unfortunately it is a breaking change. |
||
---|---|---|
examples | ||
resources | ||
scripts | ||
src | ||
tests | ||
.editorconfig | ||
.gitignore | ||
.travis.yml | ||
build-nostd.sh | ||
Cargo.toml | ||
LICENSE.txt | ||
README.md | ||
TODO.md |
Rust FAT FS
FAT filesystem library implemented in Rust.
Features:
- read/write/create/remove file,
- enumerate directory children,
- create/remove directory,
- read/write file timestamps (updated automatically if
chrono
feature is enabled), - FAT12, FAT16, FAT32 compatibility,
- LFN (Long File Names) extension supported,
- Basic no_std environment support.
Usage
Put this in your Cargo.toml
:
[dependencies]
fatfs = "0.2"
Put this in your crate root:
extern crate fatfs;
You can start using library now:
let img_file = File::open("fat.img")?;
let buf_stream = fatfs::BufStream::new(img_file);
let fs = fatfs::FileSystem::new(buf_stream, fatfs::FsOptions::new())?;
let root_dir = fs.root_dir();
let mut file = root_dir.create_file("hello.txt")?;
file.write_all(b"Hello World!")?;
See more examples in examples
subdirectory.
no_std usage
Put this in your Cargo.toml
:
[dependencies]
fatfs = { version = "0.2", features = ["core_io"], default-features = false }
Note: LFN support requires alloc
and core_io/collections
features and makes use of alloc
crate.
You may have to provide a memory allocator implementation.
For building in no_std
mode nightly Rust version compatible with current core_io
crate is required.
See date string in core_io
dependency version.
License
The MIT license. See LICENSE.txt.