pub struct DirEntry(/* private fields */);
Expand description
An entry in a directory.
A stream of entries in a directory is returned by read_dir()
.
For Unix-specific options, import the [DirEntryExt
][std::os::unix::fs::DirEntryExt
] trait.
Implementations§
source§impl DirEntry
impl DirEntry
sourcepub fn path(&self) -> PathBuf
pub fn path(&self) -> PathBuf
Returns the full path to this entry.
The full path is created by joining the original path passed to read_dir()
with the
name of this entry.
§Examples
use futures_lite::stream::StreamExt;
let mut dir = async_fs::read_dir(".").await?;
while let Some(entry) = dir.try_next().await? {
println!("{:?}", entry.path());
}
sourcepub async fn metadata(&self) -> Result<Metadata>
pub async fn metadata(&self) -> Result<Metadata>
Reads the metadata for this entry.
This function will traverse symbolic links to read the metadata.
If you want to read metadata without following symbolic links, use symlink_metadata()
instead.
§Errors
An error will be returned in the following situations:
- This entry does not point to an existing file or directory anymore.
- The current process lacks permissions to read the metadata.
- Some other I/O error occurred.
§Examples
use futures_lite::stream::StreamExt;
let mut dir = async_fs::read_dir(".").await?;
while let Some(entry) = dir.try_next().await? {
println!("{:?}", entry.metadata().await?);
}
sourcepub async fn file_type(&self) -> Result<FileType>
pub async fn file_type(&self) -> Result<FileType>
Reads the file type for this entry.
This function will not traverse symbolic links if this entry points at one.
If you want to read metadata with following symbolic links, use metadata()
instead.
§Errors
An error will be returned in the following situations:
- This entry does not point to an existing file or directory anymore.
- The current process lacks permissions to read this entry’s metadata.
- Some other I/O error occurred.
§Examples
use futures_lite::stream::StreamExt;
let mut dir = async_fs::read_dir(".").await?;
while let Some(entry) = dir.try_next().await? {
println!("{:?}", entry.file_type().await?);
}