pub struct Dir { }
Expand description
A reference to an open directory on a filesystem.
This does not directly correspond to anything in std
, however its methods correspond to the functions in std::fs
and the constructor methods for std::fs::File
.
Unlike std::fs
, this API’s canonicalize
returns a relative path since absolute paths don’t interoperate well with the capability model.
Constructs a new instance of Self
from the given std::fs::File
.
To prevent race conditions on Windows, the file must be opened without FILE_SHARE_DELETE
.
This grants access the resources the std::fs::File
instance already has access to.
Consumes self
and returns a std::fs::File
.
Attempts to open a file in read-only mode.
This corresponds to std::fs::File::open
, but only accesses paths relative to self
.
Opens a file at path
with the options specified by options
.
This corresponds to std::fs::OpenOptions::open
.
Instead of being a method on OpenOptions
, this is a method on Dir
, and it only accesses paths relative to self
.
Attempts to open a directory.
SourceAvailable on crate feature fs_utf8
only.
Creates a new, empty directory at the provided path.
This corresponds to std::fs::create_dir
, but only accesses paths relative to self
.
Recursively create a directory and all of its parent components if they are missing.
This corresponds to std::fs::create_dir_all
, but only accesses paths relative to self
.
Available on non-WASI only.
SourceOpens a file in write-only mode.
This corresponds to std::fs::File::create
, but only accesses paths relative to self
.
Returns the canonical form of a path with all intermediate components normalized and symbolic links resolved.
This corresponds to std::fs::canonicalize
, but instead of returning an absolute path, returns a path relative to the directory represented by self
.
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 corresponds to std::fs::copy
, but only accesses paths relative to self
.
Creates a new hard link on a filesystem.
This corresponds to std::fs::hard_link
, but only accesses paths relative to self
.
Given a path, query the file system to get information about a file, directory, etc.
This corresponds to std::fs::metadata
, but only accesses paths relative to self
.
Queries metadata about the underlying directory.
This is similar to std::fs::File::metadata
, but for Dir
rather than for File
.
Returns an iterator over the entries within self
.
Available on crate feature fs_utf8
only.
Returns an iterator over the entries within a directory.
This corresponds to std::fs::read_dir
, but only accesses paths relative to self
.
Read the entire contents of a file into a bytes vector.
This corresponds to std::fs::read
, but only accesses paths relative to self
.
Reads a symbolic link, returning the file that the link points to.
This corresponds to std::fs::read_link
, but only accesses paths relative to self
. Unlike read_link_contents
, this method considers it an error if the link’s target is an absolute path.
Reads a symbolic link, returning the file that the link points to.
This corresponds to std::fs::read_link
. but only accesses paths relative to self
.
Read the entire contents of a file into a string.
This corresponds to std::fs::read_to_string
, but only accesses paths relative to self
.
Removes an empty directory.
This corresponds to std::fs::remove_dir
, but only accesses paths relative to self
.
Removes a directory at this path, after removing all its contents. Use carefully!
This corresponds to std::fs::remove_dir_all
, but only accesses paths relative to self
.
Remove the directory referenced by self
and consume self
.
Even though this implementation works in terms of handles as much as possible, removal is not guaranteed to be atomic with respect to a concurrent rename of the directory.
SourceRemoves the directory referenced by self
, after removing all its contents, and consume self
. Use carefully!
Even though this implementation works in terms of handles as much as possible, removal is not guaranteed to be atomic with respect to a concurrent rename of the directory.
SourceRemoves a file from a filesystem.
This corresponds to std::fs::remove_file
, but only accesses paths relative to self
.
Rename a file or directory to a new name, replacing the original file if to already exists.
This corresponds to std::fs::rename
, but only accesses paths relative to self
.
Available on non-WASI only.
Changes the permissions found on a file or a directory.
This corresponds to std::fs::set_permissions
, but only accesses paths relative to self
. Also, on some platforms, this function may fail if the file or directory cannot be opened for reading or writing first.
Query the metadata about a file without following symlinks.
This corresponds to std::fs::symlink_metadata
, but only accesses paths relative to self
.
Write a slice as the entire contents of a file.
This corresponds to std::fs::write
, but only accesses paths relative to self
.
Available on non-Windows only.
Creates a new symbolic link on a filesystem.
The original
argument provides the target of the symlink. The link
argument provides the name of the created symlink.
Despite the argument ordering, original
is not resolved relative to self
here. link
is resolved relative to self
, and original
is not resolved within this function.
The link
path is resolved when the symlink is dereferenced, relative to the directory that contains it.
This corresponds to std::os::unix::fs::symlink
, but only accesses paths relative to self
.
Unlike symlink_contents
this method will return an error if original
is an absolute path.
Available on non-Windows only.
Creates a new symbolic link on a filesystem.
The original
argument provides the target of the symlink. The link
argument provides the name of the created symlink.
Despite the argument ordering, original
is not resolved relative to self
here. link
is resolved relative to self
, and original
is not resolved within this function.
The link
path is resolved when the symlink is dereferenced, relative to the directory that contains it.
This corresponds to std::os::unix::fs::symlink
, but only accesses paths relative to self
.
Available on Unix only.
Creates a new UnixListener
bound to the specified socket.
This corresponds to std::os::unix::net::UnixListener::bind
, but only accesses paths relative to self
.
XXX: This function is not yet implemented.
SourceAvailable on Unix only.
SourceAvailable on Unix only.
Creates a Unix datagram socket bound to the given path.
This corresponds to std::os::unix::net::UnixDatagram::bind
, but only accesses paths relative to self
.
XXX: This function is not yet implemented.
SourceAvailable on Unix only.
SourceAvailable on Unix only.
SourceCreates a new Dir
instance that shares the same underlying file handle as the existing Dir
instance.
Returns true
if the path points at an existing entity.
This corresponds to std::path::Path::exists
, but only accesses paths relative to self
.
Returns true
if the path points at an existing entity.
This corresponds to [std::fs::try_exists
], but only accesses paths relative to self
.
std
This API is not yet stable in std
, but is likely to be. For more information, see the tracker issue.
Returns true
if the path exists on disk and is pointing at a regular file.
This corresponds to std::path::Path::is_file
, but only accesses paths relative to self
.
Checks if path
is a directory.
This is similar to std::path::Path::is_dir
in that it checks if path
relative to Dir
is a directory. This function will traverse symbolic links to query information about the destination file. In case of broken symbolic links, this will return false
.
Constructs a new instance of Self
by opening the given path as a directory using the host process’ ambient authority.
This function is not sandboxed and may access any path that the host process has access to.
SourceConstructs a new instance of Self
by opening the parent directory (aka “..”) of self
, using the host process’ ambient authority.
This function accesses a directory outside of the self
subtree.
Recursively create a directory and all of its parent components if they are missing, using the host process’ ambient authority.
§Ambient AuthorityThis function is not sandboxed and may access any path that the host process has access to.
SourceConstruct a new instance of Self
from existing directory file descriptor.
This can be useful when interacting with other libraries and or C/C++ code which has invoked openat(..., O_DIRECTORY)
external to this crate.
Available on non-Windows only.
Source§Available on non-Windows only.
Source§Available on crate feature fs_utf8
only.
Converts this type into a shared reference of the (usually inferred) input type.
Source§ Source§Available on non-Windows only.
Source§Converts to this type from the input type.
Source§Available on non-Windows only.
Source§Converts to this type from the input type.
Source§Available on non-Windows only.
Source§Constructs a new instance of
Self
from the given raw file descriptor.
Read more Source§Available on non-Windows only.
Source§Consumes this object, returning the raw underlying file descriptor.
Read more Source§RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4