Struct cap_primitives::fs::DirEntry

source ·
pub struct DirEntry { /* private fields */ }
Expand description

Entries returned by the ReadDir iterator.

This corresponds to std::fs::DirEntry.

Unlike std::fs::DirEntry, this API has no DirEntry::path, because absolute paths don’t interoperate well with the capability model.

There is a file_name function, however there are also open, open_with, open_dir, remove_file, and remove_dir functions for opening or removing the entry directly, which can be more efficient and convenient.

There is no from_std method, as std::fs::DirEntry doesn’t provide a way to construct a DirEntry without opening directories by ambient paths.

Implementations§

source§

impl DirEntry

source

pub fn open(&self) -> Result<File>

Open the file for reading.

source

pub fn open_with(&self, options: &OpenOptions) -> Result<File>

Open the file with the given options.

source

pub fn open_dir(&self) -> Result<File>

Open the entry as a directory.

source

pub fn remove_file(&self) -> Result<()>

Removes the file from its filesystem.

source

pub fn remove_dir(&self) -> Result<()>

Removes the directory from its filesystem.

source

pub fn read_dir(&self) -> Result<ReadDir>

Returns an iterator over the entries within the subdirectory.

source

pub fn metadata(&self) -> Result<Metadata>

Returns the metadata for the file that this entry points at.

This corresponds to std::fs::DirEntry::metadata.

§Platform-specific behavior

On Windows, this produces a Metadata object which does not contain the optional values returned by MetadataExt. Use cap_fs_ext::DirEntryExt::full_metadata to obtain a Metadata with the values filled in.

source

pub fn file_type(&self) -> Result<FileType>

Returns the file type for the file that this entry points at.

This corresponds to std::fs::DirEntry::file_type.

§Platform-specific behavior

On Windows and most Unix platforms this function is free (no extra system calls needed), but some Unix platforms may require the equivalent call to metadata to learn about the target file type.

source

pub fn file_name(&self) -> OsString

Returns the bare file name of this directory entry without any other leading path component.

This corresponds to std::fs::DirEntry::file_name.

Trait Implementations§

source§

impl Debug for DirEntry

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DirEntryExt for DirEntry

source§

fn ino(&self) -> u64

Returns the underlying d_ino field in the contained dirent structure. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.