pub struct File { /* private fields */ }fs_utf8 only.Expand description
A reference to an open file on a filesystem.
This corresponds to std::fs::File.
This File has no open or create methods. To open or create a file,
first obtain a Dir containing the path, and then call Dir::open or
Dir::create.
Implementations§
source§impl File
impl File
sourcepub fn from_std(std: File) -> Self
pub fn from_std(std: File) -> Self
Constructs a new instance of Self from the given std::fs::File.
This grants access the resources the std::fs::File instance
already has access to.
sourcepub fn from_cap_std(cap_std: File) -> Self
pub fn from_cap_std(cap_std: File) -> Self
Constructs a new instance of Self from the given cap_std::fs::File.
sourcepub fn sync_all(&self) -> Result<()>
pub fn sync_all(&self) -> Result<()>
Attempts to sync all OS-internal metadata to disk.
This corresponds to std::fs::File::sync_all.
sourcepub fn sync_data(&self) -> Result<()>
pub fn sync_data(&self) -> Result<()>
This function is similar to sync_all, except that it may not
synchronize file metadata to a filesystem.
This corresponds to std::fs::File::sync_data.
sourcepub fn set_len(&self, size: u64) -> Result<()>
pub fn set_len(&self, size: u64) -> Result<()>
Truncates or extends the underlying file, updating the size of this file to become size.
This corresponds to std::fs::File::set_len.
sourcepub fn metadata(&self) -> Result<Metadata>
pub fn metadata(&self) -> Result<Metadata>
Queries metadata about the underlying file.
This corresponds to std::fs::File::metadata.
sourcepub fn try_clone(&self) -> Result<Self>
pub fn try_clone(&self) -> Result<Self>
Creates a new File instance that shares the same underlying file
handle as the existing File instance.
This corresponds to std::fs::File::try_clone.
sourcepub fn set_permissions(&self, perm: Permissions) -> Result<()>
pub fn set_permissions(&self, perm: Permissions) -> Result<()>
Changes the permissions on the underlying file.
This corresponds to std::fs::File::set_permissions.
sourcepub fn open_ambient<P: AsRef<Utf8Path>>(
path: P,
ambient_authority: AmbientAuthority
) -> Result<Self>
pub fn open_ambient<P: AsRef<Utf8Path>>( path: P, ambient_authority: AmbientAuthority ) -> Result<Self>
Constructs a new instance of Self in read-only mode by opening the
given path as a file using the host process’ ambient authority.
Ambient Authority
This function is not sandboxed and may access any path that the host process has access to.
sourcepub fn open_ambient_with<P: AsRef<Utf8Path>>(
path: P,
options: &OpenOptions,
ambient_authority: AmbientAuthority
) -> Result<Self>
pub fn open_ambient_with<P: AsRef<Utf8Path>>( path: P, options: &OpenOptions, ambient_authority: AmbientAuthority ) -> Result<Self>
Constructs a new instance of Self with the options specified by
options by opening the given path as a file using the host process’
ambient authority.
Ambient Authority
This function is not sandboxed and may access any path that the host process has access to.
sourcepub fn options() -> OpenOptions
pub fn options() -> OpenOptions
Returns a new OpenOptions object.
This corresponds to std::fs::File::options.
Trait Implementations§
source§impl AsHandle for File
Available on Windows only.
impl AsHandle for File
source§fn as_handle(&self) -> BorrowedHandle<'_>
fn as_handle(&self) -> BorrowedHandle<'_>
source§impl AsHandleOrSocket for File
Available on Windows only.
impl AsHandleOrSocket for File
source§fn as_handle_or_socket(&self) -> BorrowedHandleOrSocket<'_>
fn as_handle_or_socket(&self) -> BorrowedHandleOrSocket<'_>
AsHandle::as_handle and AsSocket::as_socket
but can return either type.source§impl AsRawHandle for File
Available on Windows only.
impl AsRawHandle for File
source§fn as_raw_handle(&self) -> RawHandle
fn as_raw_handle(&self) -> RawHandle
source§impl AsRawHandleOrSocket for File
Available on Windows only.
impl AsRawHandleOrSocket for File
source§fn as_raw_handle_or_socket(&self) -> RawHandleOrSocket
fn as_raw_handle_or_socket(&self) -> RawHandleOrSocket
AsRawHandle::as_raw_handle and AsRawSocket::as_raw_socket
but can return either type.source§impl From<File> for OwnedHandle
Available on Windows only.
impl From<File> for OwnedHandle
source§fn from(file: File) -> OwnedHandle
fn from(file: File) -> OwnedHandle
source§impl From<File> for OwnedHandleOrSocket
Available on Windows only.
impl From<File> for OwnedHandleOrSocket
source§impl From<OwnedHandle> for File
Available on Windows only.
impl From<OwnedHandle> for File
source§fn from(handle: OwnedHandle) -> Self
fn from(handle: OwnedHandle) -> Self
source§impl FromRawHandle for File
Available on Windows only.
impl FromRawHandle for File
source§unsafe fn from_raw_handle(handle: RawHandle) -> Self
unsafe fn from_raw_handle(handle: RawHandle) -> Self
source§impl IntoRawHandle for File
Available on Windows only.
impl IntoRawHandle for File
source§fn into_raw_handle(self) -> RawHandle
fn into_raw_handle(self) -> RawHandle
source§impl IntoRawHandleOrSocket for File
Available on Windows only.
impl IntoRawHandleOrSocket for File
source§fn into_raw_handle_or_socket(self) -> RawHandleOrSocket
fn into_raw_handle_or_socket(self) -> RawHandleOrSocket
IntoRawHandle::into_raw_handle and
IntoRawSocket::into_raw_socket but can return either type.source§impl Read for &File
impl Read for &File
source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
read, except that it reads into a slice of buffers. Read moresource§fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
buf. Read moresource§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
buf. Read moresource§fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
buf. Read moresource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
can_vector)source§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
read_buf)source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
read_buf)cursor. Read more1.0.0 · source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere Self: Sized,
Read. Read moresource§impl Read for File
impl Read for File
source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
read, except that it reads into a slice of buffers. Read moresource§fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
buf. Read moresource§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
buf. Read moresource§fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
buf. Read moresource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
can_vector)source§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
read_buf)source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
read_buf)cursor. Read more1.0.0 · source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere Self: Sized,
Read. Read moresource§impl Seek for &File
impl Seek for &File
source§fn seek(&mut self, pos: SeekFrom) -> Result<u64>
fn seek(&mut self, pos: SeekFrom) -> Result<u64>
source§fn stream_position(&mut self) -> Result<u64>
fn stream_position(&mut self) -> Result<u64>
source§impl Seek for File
impl Seek for File
source§fn seek(&mut self, pos: SeekFrom) -> Result<u64>
fn seek(&mut self, pos: SeekFrom) -> Result<u64>
source§fn stream_position(&mut self) -> Result<u64>
fn stream_position(&mut self) -> Result<u64>
source§impl Write for &File
impl Write for &File
source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
source§fn write_all(&mut self, buf: &[u8]) -> Result<()>
fn write_all(&mut self, buf: &[u8]) -> Result<()>
source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector)source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
write_all_vectored)source§impl Write for File
impl Write for File
source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
source§fn write_all(&mut self, buf: &[u8]) -> Result<()>
fn write_all(&mut self, buf: &[u8]) -> Result<()>
source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector)source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
write_all_vectored)impl FilelikeViewType for File
Auto Trait Implementations§
impl RefUnwindSafe for File
impl Send for File
impl Sync for File
impl Unpin for File
impl UnwindSafe for File
Blanket Implementations§
source§impl<T> AsFilelike for Twhere
T: AsHandle,
impl<T> AsFilelike for Twhere T: AsHandle,
source§fn as_filelike(&self) -> BorrowedHandle<'_>
fn as_filelike(&self) -> BorrowedHandle<'_>
source§fn as_filelike_view<Target>(&self) -> FilelikeView<'_, Target>where
Target: FilelikeViewType,
fn as_filelike_view<Target>(&self) -> FilelikeView<'_, Target>where Target: FilelikeViewType,
&Target. Read moresource§impl<T> AsGrip for Twhere
T: AsHandleOrSocket,
impl<T> AsGrip for Twhere T: AsHandleOrSocket,
source§fn as_grip(&self) -> BorrowedHandleOrSocket<'_>
fn as_grip(&self) -> BorrowedHandleOrSocket<'_>
source§impl<T> AsRawFilelike for Twhere
T: AsRawHandle,
impl<T> AsRawFilelike for Twhere T: AsRawHandle,
source§fn as_raw_filelike(&self) -> *mut c_void
fn as_raw_filelike(&self) -> *mut c_void
source§impl<T> AsRawGrip for Twhere
T: AsRawHandleOrSocket,
impl<T> AsRawGrip for Twhere T: AsRawHandleOrSocket,
source§fn as_raw_grip(&self) -> RawHandleOrSocket
fn as_raw_grip(&self) -> RawHandleOrSocket
source§impl<T> FromFilelike for Twhere
T: From<OwnedHandle>,
impl<T> FromFilelike for Twhere T: From<OwnedHandle>,
source§fn from_filelike(owned: OwnedHandle) -> T
fn from_filelike(owned: OwnedHandle) -> T
Self from the given filelike object. Read moresource§fn from_into_filelike<Owned>(owned: Owned) -> Twhere
Owned: IntoFilelike,
fn from_into_filelike<Owned>(owned: Owned) -> Twhere Owned: IntoFilelike,
Self from the given filelike object
converted from into_owned. Read moresource§impl<T> FromHandle for Twhere
T: From<OwnedHandle>,
impl<T> FromHandle for Twhere T: From<OwnedHandle>,
source§fn from_handle(owned_handle: OwnedHandle) -> T
fn from_handle(owned_handle: OwnedHandle) -> T
Self from the given handle. Read moresource§fn from_into_handle<Owned>(into_owned: Owned) -> Selfwhere
Owned: Into<OwnedHandle>,
Self: Sized + From<OwnedHandle>,
fn from_into_handle<Owned>(into_owned: Owned) -> Selfwhere Owned: Into<OwnedHandle>, Self: Sized + From<OwnedHandle>,
source§impl<T> FromRawFilelike for Twhere
T: FromRawHandle,
impl<T> FromRawFilelike for Twhere T: FromRawHandle,
source§unsafe fn from_raw_filelike(raw: *mut c_void) -> T
unsafe fn from_raw_filelike(raw: *mut c_void) -> T
Self from the raw value.source§impl<T> IntoFilelike for Twhere
T: Into<OwnedHandle>,
impl<T> IntoFilelike for Twhere T: Into<OwnedHandle>,
source§fn into_filelike(self) -> OwnedHandle
fn into_filelike(self) -> OwnedHandle
source§impl<T> IntoGrip for Twhere
T: Into<OwnedHandleOrSocket>,
impl<T> IntoGrip for Twhere T: Into<OwnedHandleOrSocket>,
source§fn into_grip(self) -> OwnedHandleOrSocket
fn into_grip(self) -> OwnedHandleOrSocket
self and convert into an OwnedGrip.source§impl<T> IntoHandle for Twhere
OwnedHandle: From<T>,
impl<T> IntoHandle for Twhere OwnedHandle: From<T>,
source§fn into_handle(self) -> OwnedHandle
fn into_handle(self) -> OwnedHandle
source§impl<T> IntoRawFilelike for Twhere
T: IntoRawHandle,
impl<T> IntoRawFilelike for Twhere T: IntoRawHandle,
source§fn into_raw_filelike(self) -> *mut c_void
fn into_raw_filelike(self) -> *mut c_void
source§impl<T> IntoRawGrip for Twhere
T: IntoRawHandleOrSocket,
impl<T> IntoRawGrip for Twhere T: IntoRawHandleOrSocket,
source§fn into_raw_grip(self) -> RawHandleOrSocket
fn into_raw_grip(self) -> RawHandleOrSocket
self and convert into an RawGrip.