pub struct DirEntry(/* private fields */);
Expand description
An entry in a directory.
A stream of entries in a directory is returned by read_dir
.
This type is an async version of std::fs::DirEntry
.
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 async_std::fs;
use async_std::prelude::*;
let mut dir = fs::read_dir(".").await?;
while let Some(res) = dir.next().await {
let entry = res?;
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 async_std::fs;
use async_std::prelude::*;
let mut dir = fs::read_dir(".").await?;
while let Some(res) = dir.next().await {
let entry = res?;
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 async_std::fs;
use async_std::prelude::*;
let mut dir = fs::read_dir(".").await?;
while let Some(res) = dir.next().await {
let entry = res?;
println!("{:?}", entry.file_type().await?);
}
sourcepub fn file_name(&self) -> OsString
pub fn file_name(&self) -> OsString
Returns the bare name of this entry without the leading path.
Examples
use async_std::fs;
use async_std::prelude::*;
let mut dir = fs::read_dir(".").await?;
while let Some(res) = dir.next().await {
let entry = res?;
println!("{}", entry.file_name().to_string_lossy());
}