pub trait FileSystem {
    type DirEntry: DirEntry;
    type ReadDir: ReadDir<Self::DirEntry>;

Show 20 methods fn current_dir(&self) -> Result<PathBuf>; fn set_current_dir<P: AsRef<Path>>(&self, path: P) -> Result<()>; fn is_dir<P: AsRef<Path>>(&self, path: P) -> bool; fn is_file<P: AsRef<Path>>(&self, path: P) -> bool; fn create_dir<P: AsRef<Path>>(&self, path: P) -> Result<()>; fn create_dir_all<P: AsRef<Path>>(&self, path: P) -> Result<()>; fn remove_dir<P: AsRef<Path>>(&self, path: P) -> Result<()>; fn remove_dir_all<P: AsRef<Path>>(&self, path: P) -> Result<()>; fn read_dir<P: AsRef<Path>>(&self, path: P) -> Result<Self::ReadDir>; fn create_file<P, B>(&self, path: P, buf: B) -> Result<()>
    where
        P: AsRef<Path>,
        B: AsRef<[u8]>
; fn write_file<P, B>(&self, path: P, buf: B) -> Result<()>
    where
        P: AsRef<Path>,
        B: AsRef<[u8]>
; fn overwrite_file<P, B>(&self, path: P, buf: B) -> Result<()>
    where
        P: AsRef<Path>,
        B: AsRef<[u8]>
; fn read_file<P: AsRef<Path>>(&self, path: P) -> Result<Vec<u8>>; fn read_file_to_string<P: AsRef<Path>>(&self, path: P) -> Result<String>; fn remove_file<P: AsRef<Path>>(&self, path: P) -> Result<()>; fn copy_file<P, Q>(&self, from: P, to: Q) -> Result<()>
    where
        P: AsRef<Path>,
        Q: AsRef<Path>
; fn rename<P, Q>(&self, from: P, to: Q) -> Result<()>
    where
        P: AsRef<Path>,
        Q: AsRef<Path>
; fn readonly<P: AsRef<Path>>(&self, path: P) -> Result<bool>; fn set_readonly<P: AsRef<Path>>(&self, path: P, readonly: bool) -> Result<()>; fn len<P: AsRef<Path>>(&self, path: P) -> u64;
}
Expand description

Provides standard file system operations.

Required Associated Types

Required Methods

Returns the current working directory. This is based on std::env::current_dir.

Updates the current working directory. This is based on std::env::set_current_dir.

Determines whether the path exists and points to a directory.

Determines whether the path exists and points to a file.

Creates a new directory. This is based on std::fs::create_dir.

Recursively creates a directory and any missing parents. This is based on std::fs::create_dir.

Removes an empty directory. This is based on std::fs::remove_dir.

Removes a directory and any child files or directories. This is based on std::fs::remove_dir_all.

Returns an iterator over the entries in a directory. This is based on std::fs::read_dir.

Writes buf to a new file at path.

Errors
  • A file or directory already exists at path.
  • The parent directory of path does not exist.
  • Current user has insufficient permissions.

Writes buf to a new or existing file at buf. This will overwrite any contents that already exist.

Errors
  • The parent directory of path does not exist.
  • Current user has insufficient permissions.

Writes buf to an existing file at buf. This will overwrite any contents that already exist.

Errors
  • No file file does not exist.
  • The node at file is a directory.
  • Current user has insufficient permissions.

Returns the contents of path.

Errors
  • path does not exist.
  • path is a directory.
  • Current user has insufficient permissions.

Returns the contents of path as a string.

Errors
  • path does not exist.
  • path is a directory.
  • Current user has insufficient permissions.
  • Contents are not valid UTF-8

Removes the file at path. This is based on std::fs::remove_file.

Copies the file at path from to the path to. This is based on std::fs::copy.

Renames a file or directory. If both from and to are files, to will be replaced. Based on std::fs::rename.

Returns true if path is a readonly file.

Errors
  • path does not exist.
  • Current user has insufficient permissions.

Sets or unsets the readonly flag of path.

Errors
  • path does not exist.
  • Current user has insufficient permissions.

Returns the length of the node at the path or 0 if the node does not exist.

Implementors