pub trait Filesystem {
Show 14 methods
// Required methods
fn create_directory(
&mut self,
path: impl AsRef<Utf8Path>,
attrs: SetAttrs<'_>,
) -> Result<()>;
fn create_file(
&mut self,
path: impl AsRef<Utf8Path>,
attrs: SetAttrs<'_>,
content: String,
) -> Result<()>;
fn create_symlink(
&mut self,
path: impl AsRef<Utf8Path>,
target: impl AsRef<Utf8Path>,
) -> Result<()>;
fn exists(&self, path: impl AsRef<Utf8Path>) -> bool;
fn is_directory(&self, path: impl AsRef<Utf8Path>) -> bool;
fn is_file(&self, path: impl AsRef<Utf8Path>) -> bool;
fn is_link(&self, path: impl AsRef<Utf8Path>) -> bool;
fn list_directory(&self, path: impl AsRef<Utf8Path>) -> Result<Vec<String>>;
fn read_file(&self, path: impl AsRef<Utf8Path>) -> Result<String>;
fn read_link(&self, path: impl AsRef<Utf8Path>) -> Result<Utf8PathBuf>;
fn attributes(&self, path: impl AsRef<Utf8Path>) -> Result<Attrs<'_>>;
fn set_attributes(
&mut self,
path: impl AsRef<Utf8Path>,
attrs: SetAttrs<'_>,
) -> Result<()>;
// Provided methods
fn create_directory_all(
&mut self,
path: impl AsRef<Utf8Path>,
attrs: SetAttrs<'_>,
) -> Result<()> { ... }
fn canonicalize(&self, path: impl AsRef<Utf8Path>) -> Result<Utf8PathBuf> { ... }
}
Expand description
Operations of a file system
Required Methods§
Sourcefn create_directory(
&mut self,
path: impl AsRef<Utf8Path>,
attrs: SetAttrs<'_>,
) -> Result<()>
fn create_directory( &mut self, path: impl AsRef<Utf8Path>, attrs: SetAttrs<'_>, ) -> Result<()>
Create a directory at the given path, with any number of attributes set
Sourcefn create_file(
&mut self,
path: impl AsRef<Utf8Path>,
attrs: SetAttrs<'_>,
content: String,
) -> Result<()>
fn create_file( &mut self, path: impl AsRef<Utf8Path>, attrs: SetAttrs<'_>, content: String, ) -> Result<()>
Create a file with the given content and any number of attributes set
Sourcefn create_symlink(
&mut self,
path: impl AsRef<Utf8Path>,
target: impl AsRef<Utf8Path>,
) -> Result<()>
fn create_symlink( &mut self, path: impl AsRef<Utf8Path>, target: impl AsRef<Utf8Path>, ) -> Result<()>
Create a symlink pointing to the given target
Sourcefn is_directory(&self, path: impl AsRef<Utf8Path>) -> bool
fn is_directory(&self, path: impl AsRef<Utf8Path>) -> bool
Returns true if the path is a directory
Sourcefn is_file(&self, path: impl AsRef<Utf8Path>) -> bool
fn is_file(&self, path: impl AsRef<Utf8Path>) -> bool
Returns true if the path is a regular file
Sourcefn is_link(&self, path: impl AsRef<Utf8Path>) -> bool
fn is_link(&self, path: impl AsRef<Utf8Path>) -> bool
Returns true if the path is a symbolic link
Sourcefn list_directory(&self, path: impl AsRef<Utf8Path>) -> Result<Vec<String>>
fn list_directory(&self, path: impl AsRef<Utf8Path>) -> Result<Vec<String>>
Lists the contents of the given directory
Sourcefn read_file(&self, path: impl AsRef<Utf8Path>) -> Result<String>
fn read_file(&self, path: impl AsRef<Utf8Path>) -> Result<String>
Reads the contents of the given file
Sourcefn read_link(&self, path: impl AsRef<Utf8Path>) -> Result<Utf8PathBuf>
fn read_link(&self, path: impl AsRef<Utf8Path>) -> Result<Utf8PathBuf>
Reads the path pointed to by the given symbolic link
Provided Methods§
Sourcefn create_directory_all(
&mut self,
path: impl AsRef<Utf8Path>,
attrs: SetAttrs<'_>,
) -> Result<()>
fn create_directory_all( &mut self, path: impl AsRef<Utf8Path>, attrs: SetAttrs<'_>, ) -> Result<()>
Create a directory and all of its parents
Sourcefn canonicalize(&self, path: impl AsRef<Utf8Path>) -> Result<Utf8PathBuf>
fn canonicalize(&self, path: impl AsRef<Utf8Path>) -> Result<Utf8PathBuf>
Returns the path after following all symlinks, normalized and absolute
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.