#file-metadata #wrapper #metadata

fs_metadata

A wrapper around Rust API for getting file metadata

10 releases

Uses new Rust 2024

0.4.4 Sep 19, 2025
0.4.3 May 28, 2025
0.4.0 Nov 11, 2024
0.3.2 Oct 31, 2024
0.1.0 Jul 15, 2023

#234 in Value formatting

Download history 5/week @ 2025-10-06 6/week @ 2025-10-13 10/week @ 2025-10-20 2/week @ 2025-10-27

501 downloads per month
Used in 2 crates (via media_info)

MIT license

13KB
184 lines

FS Metadata

A cross-platform simple wrapper to get metadata of a file.

  1. Access SystemTime as readable dates.
  2. Get the permissions of a file.
  3. Get human readable file sizes.

Functions

Favor the Struct version instead.

pub fn file_created(path_str: &Path) -> Result<String, String>

pub fn file_modified(path_str: &Path) -> Result<String, String>

pub fn last_accessed(path_str: &Path) -> Result<String, String>

Struct

struct FileMetadata {
    pub created: String,
    pub modified: String,
    pub accessed: String,
    pub is_file_read_only: bool,
    pub is_dir: bool,
    pub is_file: bool,
    pub is_readable: bool,
    pub is_writable: bool,
    pub is_executable: bool,
}

FileMetadata {
    fn new(path: &Path) -> Result<Self, String>;
    fn readable(&self) -> bool;
    fn writable(&self) -> bool;
    fn executable(&self) -> bool;
    fn get_file_in_kilobytes(&self) -> f32;
    fn get_file_in_megabytes(&self) -> f32;
    fn get_file_in_gigabytes(&self) -> f32;
    fn get_file_in_terabytes(&self) -> f32;
}

Run Tests

To activate the tests, run cargo test -p fs_metadata.

Dependencies

~1–1.5MB
~23K SLoC