Module fs

Source
Expand description

A capability-based filesystem API modeled after async_std::fs.

This corresponds to async_std::fs.

Instead of async_std::fs’s free functions and async_std::fs::File’s constructors which operate on bare paths, this crate has methods on Dir which operate on paths which must be relative to the directory.

Where async_std says “the filesystem”, this API says “a filesystem”, as it doesn’t assume that there’s a single global filesystem namespace.

Since all functions which expose raw file descriptors are unsafe, I/O handles in this API are unforgeable (unsafe code notwithstanding). This combined with a lack of absolute paths provides a natural capability-based interface.

This crate uses the existing async_std::path::Path rather than having its own path type, however while async_std::path::Path is mostly just a pure datatype, it includes aliases for several async_std::fs functions. To preserve the capability-based interface, avoid using async_std::path::Path’s canonicalize, read_link, read_dir, metadata, and symlink_metadata functions.

Structs§

Dir
A reference to an open directory on a filesystem.
DirBuilder
A builder used to create directories in various manners.
DirEntry
Entries returned by the ReadDir iterator.
File
A reference to an open file on a filesystem.
FileType
A structure representing a type of file with accessors for each file type.
Metadata
Metadata information about a file.
OpenOptions
Options and flags which can be used to configure how a file is opened.
Permissions
Representation of the various permissions on a file.
ReadDir
Iterator over the entries in a directory.

Traits§

FileExt
Windows-specific extensions to [fs::File].
MetadataExt
Windows-specific extensions to Metadata.
OpenOptionsExt
Windows-specific extensions to [fs::OpenOptions].