pub struct DirEntry { /* private fields */ }展开描述
ReadDir
流所返回的条目。
This is a specialized version of std::fs::DirEntry for usage from the
Tokio 运行时。
DirEntry 实例
表示文件系统上
目录内的一个条目。
每个条目
可以通过方法
进行检视,
以了解
完整路径,
或通过
特定于平台的
扩展 trait
了解其他元数据。
实现§
Source§impl DirEntry
impl DirEntry
Sourcepub fn path(&self) -> PathBuf
pub fn path(&self) -> PathBuf
返回此条目所代表的文件的完整路径。
完整路径是通过将传递给 read_dir 的原始路径与此条目的
文件名连接起来创建的。
§示例
use tokio::fs;
let mut entries = fs::read_dir(".").await?;
while let Some(entry) = entries.next_entry().await? {
println!("{:?}", entry.path());
}这将输出类似如下内容:
"./whatever.txt"
"./foo.html"
"./hello_world.rs"当然,确切的文本取决于 . 中有哪些文件。
Sourcepub fn file_name(&self) -> OsString
pub fn file_name(&self) -> OsString
返回此目录条目的裸文件名,不含任何其他 前导路径组件。
§示例
use tokio::fs;
let mut entries = fs::read_dir(".").await?;
while let Some(entry) = entries.next_entry().await? {
println!("{:?}", entry.file_name());
}Sourcepub async fn metadata(&self) -> Result<Metadata>
pub async fn metadata(&self) -> Result<Metadata>
返回此条目所指向的文件的元数据。
如果此条目指向符号链接,此函数不会遍历符号链接。
§Platform-specific behavior
在 Windows 上调用此函数开销很小(无需额外的系统调用),
但在 Unix 平台上,此函数等价于
对该路径调用 symlink_metadata。
§示例
use tokio::fs;
let mut entries = fs::read_dir(".").await?;
while let Some(entry) = entries.next_entry().await? {
if let Ok(metadata) = entry.metadata().await {
// Now let's show our entry's permissions!
println!("{:?}: {:?}", entry.path(), metadata.permissions());
} else {
println!("Couldn't get file type for {:?}", entry.path());
}
}Sourcepub async fn file_type(&self) -> Result<FileType>
pub async fn file_type(&self) -> Result<FileType>
返回此条目所指向的文件的类型。
如果此条目指向符号链接,此函数不会遍历符号链接。
§Platform-specific behavior
在 Windows 和大多数 Unix 平台上,此函数无需任何代价(不需要额外
的系统调用),但某些 Unix 平台可能需要
通过等价的 symlink_metadata 调用来了解目标文件的类型。
§示例
use tokio::fs;
let mut entries = fs::read_dir(".").await?;
while let Some(entry) = entries.next_entry().await? {
if let Ok(file_type) = entry.file_type().await {
// Now let's show our entry's file type!
println!("{:?}: {:?}", entry.path(), file_type);
} else {
println!("Couldn't get file type for {:?}", entry.path());
}
}Trait 实现§
自动 Trait 实现§
impl Freeze for DirEntry
impl RefUnwindSafe for DirEntry
impl Send for DirEntry
impl Sync for DirEntry
impl Unpin for DirEntry
impl UnsafeUnpin for DirEntry
impl UnwindSafe for DirEntry
Blanket 实现§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. 更多信息