File System

cat~filesystem

This chapters deals with files and file systems.

For most common file system tasks, std::fs and std::path will be sufficient. fs_extra is useful for more advanced operations. tempfile is great for working with temporary files. glob simplifies file pattern matching. Use notify for file watching.

TopicRust Crates or Modules
File I/Ostd::fs↗ in the Standard Library provides the core functionality for working with files and directories (opening, reading, writing, creating, deleting, etc.).
Pathsstd::path↗ provides types and functions for working with file paths (Path, PathBuf), extracting file names, extensions, and other path components.
Directoriesstd::fs↗ includes functions for creating, listing, and traversing directories.
File Metadatastd::fs↗ allows retrieving information about files (size, modification time, permissions, etc.).
File System Operationsfs_extra provides additional file system operations, such as copying directories recursively, setting file permissions, etc.
Temporary Files and Directoriestempfile creates temporary files and directories.
Globbing (Matching File Patterns)glob matches file paths using 'glob' patterns.
Symbolic Linksstd::fs↗ supports working with symbolic links (though this is platform-dependent).
File Watchingnotify watches files and directories for changes.

Paths

Reading and Writing Files

Working with the Standard Input and Output

RecipeCratesCategories
Work with Symbolic Linksstdcat~filesystem

File Metadata

RecipeCratesCategories
Display File Metadatastdcat~filesystem

Directories

Directory Traversal

User Directories and Preferred Applications

Temporary Files and Directories

Globbing

FIXME.

File Watching

TopicRust Crates or Modules
Serialization/Deserializationserde is often used with file I/O to read and write structured data (JSON, YAML, TOML, etc.) to files.
Compression/Decompressionflate2, gzip, bzip2, xz2 work with various file compression formats.
Archive Filestar, zip can be used for working with tar and zip archives.