rust-fatfs fork with rs-core_io as dependency instead. No support for chrono.
0e96b05054
New Windows does not create LFN entries if name fits in 8.3 format and letters in both basename and ext parts are all uppercase or all lowercase. This commit fixes handling of lowercase letters. |
||
---|---|---|
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").unwrap();
let mut buf_stream = fatfs::BufStream::new(img_file);
let fs = fatfs::FileSystem::new(&mut buf_stream, fatfs::FsOptions::new()).unwrap();
let mut root_dir = fs.root_dir();
let mut file = root_dir.create_file("hello.txt").unwrap();
file.write_all(b"Hello World!").unwrap();
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.