[−][src]Struct walkdir::DirEntry
A directory entry.
This is the type of value that is yielded from the iterators defined in this crate.
On Unix systems, this type implements the DirEntryExt trait, which
provides efficient access to the inode number of the directory entry.
Differences with std::fs::DirEntry
This type mostly mirrors the type by the same name in std::fs. There
are some differences however:
- All recursive directory iterators must inspect the entry's type. Therefore, the value is stored and its access is guaranteed to be cheap and successful.
pathandfile_namereturn borrowed variants.- If
follow_linkswas enabled on the originating iterator, then all operations except forpathoperate on the link target. Otherwise, all operations operate on the symbolic link.
Methods
impl DirEntry[src]
impl DirEntrypub fn path(&self) -> &Path[src]
pub fn path(&self) -> &PathThe full path that this entry represents.
The full path is created by joining the parents of this entry up to the
root initially given to WalkDir::new with the file name of this
entry.
Note that this always returns the path reported by the underlying
directory entry, even when symbolic links are followed. To get the
target path, use path_is_symlink to (cheaply) check if this entry
corresponds to a symbolic link, and std::fs::read_link to resolve
the target.
pub fn into_path(self) -> PathBuf[src]
pub fn into_path(self) -> PathBufThe full path that this entry represents.
Analogous to path, but moves ownership of the path.
pub fn path_is_symlink(&self) -> bool[src]
pub fn path_is_symlink(&self) -> boolReturns true if and only if this entry was created from a symbolic
link. This is unaffected by the follow_links setting.
When true, the value returned by the path method is a
symbolic link name. To get the full target path, you must call
std::fs::read_link(entry.path()).
pub fn metadata(&self) -> Result<Metadata>[src]
pub fn metadata(&self) -> Result<Metadata>Return the metadata for the file that this entry points to.
This will follow symbolic links if and only if the WalkDir value
has follow_links enabled.
Platform behavior
This always calls std::fs::symlink_metadata.
If this entry is a symbolic link and follow_links is enabled, then
std::fs::metadata is called instead.
Errors
Similar to std::fs::metadata, returns errors for path values that
the program does not have permissions to access or if the path does not
exist.
pub fn file_type(&self) -> FileType[src]
pub fn file_type(&self) -> FileTypeReturn the file type for the file that this entry points to.
If this is a symbolic link and follow_links is true, then this
returns the type of the target.
This never makes any system calls.
pub fn file_name(&self) -> &OsStr[src]
pub fn file_name(&self) -> &OsStrReturn the file name of this entry.
If this entry has no file name (e.g., /), then the full path is
returned.
pub fn depth(&self) -> usize[src]
pub fn depth(&self) -> usizeReturns the depth at which this entry was created relative to the root.
The smallest depth is 0 and always corresponds to the path given
to the new function on WalkDir. Its direct descendents have depth
1, and their descendents have depth 2, and so on.
Trait Implementations
impl DirEntryExt for DirEntry[src]
impl DirEntryExt for DirEntryimpl Clone for DirEntry[src]
impl Clone for DirEntryfn clone(&self) -> DirEntry[src]
fn clone(&self) -> DirEntryReturns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl Debug for DirEntry[src]
impl Debug for DirEntryAuto Trait Implementations
Blanket Implementations
impl<T> From for T[src]
impl<T> From for Timpl<T, U> Into for T where
U: From<T>, [src]
impl<T, U> Into for T where
U: From<T>, impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, type Owned = T
fn to_owned(&self) -> T[src]
fn to_owned(&self) -> TCreates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)[src]
fn clone_into(&self, target: &mut T)🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T, U> TryFrom for T where
T: From<U>, [src]
impl<T, U> TryFrom for T where
T: From<U>, type Error = !
try_from)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>try_from)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized, [src]
impl<T> Borrow for T where
T: ?Sized, impl<T> Any for T where
T: 'static + ?Sized, [src]
impl<T> Any for T where
T: 'static + ?Sized, fn get_type_id(&self) -> TypeId[src]
fn get_type_id(&self) -> TypeId🔬 This is a nightly-only experimental API. (get_type_id)
this method will likely be replaced by an associated static
Gets the TypeId of self. Read more
impl<T> BorrowMut for T where
T: ?Sized, [src]
impl<T> BorrowMut for T where
T: ?Sized, fn borrow_mut(&mut self) -> &mut T[src]
fn borrow_mut(&mut self) -> &mut TMutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
impl<T, U> TryInto for T where
U: TryFrom<T>,