Struct tokio::fs::File [] [src]

pub struct File { /* fields omitted */ }

A reference to an open file on the filesystem.

This is a specialized version of std::fs::File for usage from the Tokio runtime.

An instance of a File can be read and/or written depending on what options it was opened with. Files also implement Seek to alter the logical cursor that the file contains internally.

Files are automatically closed when they go out of scope.

Methods

impl File
[src]

[src]

Attempts to open a file in read-only mode.

Errors

OpenFuture results in an error if called from outside of the Tokio runtime or if the underlying open call results in an error.

[src]

Opens a file in write-only mode.

This function will create a file if it does not exist, and will truncate it if it does.

CreateFuture results in an error if called from outside of the Tokio runtime or if the underlying [create] call results in an error.

[src]

Seek to an offset, in bytes, in a stream.

A seek beyond the end of a stream is allowed, but implementation defined.

If the seek operation completed successfully, this method returns the new position from the start of the stream. That position can be used later with SeekFrom::Start.

Errors

Seeking to a negative offset is considered an error.

[src]

Attempts to sync all OS-internal metadata to disk.

This function will attempt to ensure that all in-core data reaches the filesystem before returning.

[src]

This function is similar to poll_sync_all, except that it may not synchronize file metadata to the filesystem.

This is intended for use cases that must synchronize content, but don't need the metadata on disk. The goal of this method is to reduce disk operations.

Note that some platforms may simply implement this in terms of poll_sync_all.

[src]

Truncates or extends the underlying file, updating the size of this file to become size.

If the size is less than the current file's size, then the file will be shrunk. If it is greater than the current file's size, then the file will be extended to size and have all of the intermediate data filled in with 0s.

Errors

This function will return an error if the file is not opened for writing.

[src]

Queries metadata about the underlying file.

[src]

Create a new File instance that shares the same underlying file handle as the existing File instance. Reads, writes, and seeks will affect both File instances simultaneously.

[src]

Changes the permissions on the underlying file.

Platform-specific behavior

This function currently corresponds to the fchmod function on Unix and the SetFileInformationByHandle function on Windows. Note that, this may change in the future.

Errors

This function will return an error if the user lacks permission change attributes on the underlying file. It may also return an error in other os-specific unspecified cases.

Trait Implementations

impl Read for File
[src]

[src]

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more

[src]

🔬 This is a nightly-only experimental API. (read_initializer)

Determines if this Reader can work with buffers of uninitialized memory. Read more

1.0.0
[src]

Read all bytes until EOF in this source, placing them into buf. Read more

1.0.0
[src]

Read all bytes until EOF in this source, appending them to buf. Read more

1.6.0
[src]

Read the exact number of bytes required to fill buf. Read more

Important traits for &'a mut W
1.0.0
[src]

Creates a "by reference" adaptor for this instance of Read. Read more

Important traits for Bytes<R>
1.0.0
[src]

Transforms this Read instance to an [Iterator] over its bytes. Read more

Important traits for Chars<R>
[src]

🔬 This is a nightly-only experimental API. (io)

the semantics of a partial read/write of where errors happen is currently unclear and may change

Transforms this Read instance to an [Iterator] over [char]s. Read more

Important traits for Chain<T, U>
1.0.0
[src]

Creates an adaptor which will chain this stream with another. Read more

Important traits for Take<T>
1.0.0
[src]

Creates an adaptor which will read at most limit bytes from it. Read more

impl Write for File
[src]

[src]

Write a buffer into this object, returning how many bytes were written. Read more

[src]

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

1.0.0
[src]

Attempts to write an entire buffer into this write. Read more

1.0.0
[src]

Writes a formatted string into this writer, returning any error encountered. Read more

Important traits for &'a mut W
1.0.0
[src]

Creates a "by reference" adaptor for this instance of Write. Read more

impl AsyncRead for File
[src]

[src]

Prepares an uninitialized buffer to be safe to pass to read. Returns true if the supplied buffer was zeroed out. Read more

[src]

Attempt to read from the AsyncRead into buf. Read more

[src]

Pull some bytes from this source into the specified Buf, returning how many bytes were read. Read more

[src]

Provides a Stream and Sink interface for reading and writing to this Io object, using Decode and Encode to read and write the raw data. Read more

[src]

Helper method for splitting this read/write object into two halves. Read more

impl AsyncWrite for File
[src]

[src]

Initiates or attempts to shut down this writer, returning success when the I/O connection has completely shut down. Read more

[src]

Attempt to write bytes from buf into the object. Read more

[src]

Attempt to flush the object, ensuring that any buffered data reach their destination. Read more

[src]

Write a Buf into this value, returning how many bytes were written. Read more

impl Debug for File
[src]

[src]

Formats the value using the given formatter. Read more

impl Drop for File
[src]

[src]

Executes the destructor for this type. Read more

Auto Trait Implementations

impl Send for File

impl Sync for File