DirEntry in async_std::fs - Rust (original) (raw)
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.
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());
}
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_metadatainstead.
§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?);
}
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?);
}
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());
}