Expand description
Virtual file system.
The API is designed to match the tokio::fs module which in
turn is based on std::fs so the API should be familiar.
The default operating system VFS re-exports the
tokio::fs module providing access to the operating system’s
file system.
Using the memory VFS allows us to compile and target the
wasm32-unknown-unknown platform with minimal changes to
the code.
The memory file system is enabled by default for
wasm32-unknown-unknown or if the mem-fs feature
is enabled.
§Memory VFS Caveats
Relative paths are resolved from the root of the file system.
Avoid using the PathBuf functions exists(), metadata(),
is_dir(), is_file() etc as they will be incorrect when
using a virtual file system. Instead use the vfs::metadata() and
vfs::try_exists() asynchronous functions.
The SystemTime type is not available on wasm32-unknown-unknwown
so Metadata does not support created(), accessed()
and modified() for that target.
§Memory VFS Unsupported
This functionality is not supported yet but we hope to implement in the future.
The readonly flag on permissions is not supported yet.
Created, accessed and modified times are not set
yet for non-webassembly targets that support SystemTime.
Symbolic links are not supported yet which means the hard_link(),
symlink(), symlink_metadata(), symlink_file() and
symlink_dir() functions are not available.
Structs§
- DirBuilder
- A builder for creating directories in various manners.
- DirEntry
- Entries returned by the
ReadDirstream. - File
- A reference to an open file on the filesystem.
- Open
Options - Options and flags which can be used to configure how a file is opened.
- ReadDir
- Reads the entries in a directory.
Functions§
- canonicalize
- Returns the canonical, absolute form of a path with all intermediate components normalized and symbolic links resolved.
- copy
- Copies the contents of one file to another. This function will also copy the permission bits of the original file to the destination file. This function will overwrite the contents of to.
- create_
dir - Creates a new, empty directory at the provided path.
- create_
dir_ all - Recursively creates a directory and all of its parent components if they are missing.
- hard_
link - Creates a new hard link on the filesystem.
- metadata
- Given a path, queries the file system to get information about a file, directory, etc.
- read
- Reads the entire contents of a file into a bytes vector.
- read_
dir - Returns a stream over the entries within a directory.
- read_
link - Reads a symbolic link, returning the file that the link points to.
- read_
to_ string - Creates a future which will open a file for reading and read the entire contents into a string and return said string.
- remove_
dir - Removes an existing, empty directory.
- remove_
dir_ all - Removes a directory at this path, after removing all its contents. Use carefully!
- remove_
file - Removes a file from the filesystem.
- rename
- Renames a file or directory to a new name, replacing the original file if
toalready exists. - set_
permissions - Changes the permissions found on a file or a directory.
- symlink
- Creates a new symbolic link on the filesystem.
- symlink_
metadata - Queries the file system metadata for a path.
- try_
exists - Returns
Ok(true)if the path points at an existing entity. - write
- Creates a future that will open a file for writing and write the entire
contents of
contentsto it.