2.4 KiB
2.4 KiB
kxio
Provides injectable Filesystem and Network resources to make code more testable.
std::fs alternatives
std::fs::canonicalize
-path(path).canonicalize()
- Returns the canonical, absolute form of a path with all intermediate components normalized and symbolic links resolved.std::fs::copy
-file(path).copy(target)
- Copies the contents of one file to another. This function will also copy the permission bits of the original file to the destination file.std::fs::create_dir
-dir(path).create()
- Creates a new, empty directory at the provided pathstd::fs::create_dir_all
-dir(path).create_all()
- Recursively create a directory and all of its parent components if they are missing.std::fs::hard_link
-file(path).hard_link(other)
- Creates a new hard link on the filesystem.std::fs::metadata
-path(path).metadata()
- Given a path, query the file system to get information about a file, directory, etc.std::fs::read
-file(path).reader().bytes()
- Read the entire contents of a file into a bytes vector.std::fs::read_dir
-dir(path).read()
- Returns an iterator over the entries within a directory.std::fs::read_link
-link(path).read()
- Reads a symbolic link, returning the file that the link points to.std::fs::read_to_string
-file(path).reader().to_string()
- Read the entire contents of a file into a string.std::fs::remove_dir
-dir(path).remove()
- Removes an empty directory.std::fs::remove_dir_all
-dir(path).remove_all()
- Removes a directory at this path, after removing all its contents. Use carefully!std::fs::remove_file
-file(path).remove()
- Removes a file from the filesystem.std::fs::rename
-path(path).rename()
- Rename a file or directory to a new name, replacing the original file if to already exists.std::fs::set_permissions
-path(path).set_permissions()
- Changes the permissions found on a file or a directory.std::fs::symlink_metadata
-path(path).symlink_metadata()
- Query the metadata about a file without following symlinks.std::fs::write
-file(path).write()
- Write a slice as the entire contents of a file.
Network
The entire [network] module needs to be completly rewritten It's use is strongly discouraged. A new [net] module will likely be its replacement.