# tokio::fs::read - Rust
API documentation for the Rust `read` fn in crate `tokio`.
Keywords: rust, rustlang, rust-lang, read

# Function tokio::fs::read [−] [src]

    pub async fn read(path: impl AsRef<Path>) -> Result<Vec<u8>>

Reads the entire contents of a file into a bytes vector.

This is an async version of `std::fs::read`

This is a convenience function for using `File::open` and `read_to_end` with fewer imports and without an intermediate variable. It pre-allocates a buffer based on the file size when available, so it is generally faster than reading into a vector created with `Vec::new()`.

# Errors

This function will return an error if `path` does not already exist. Other errors may also be returned according to `OpenOptions::open`.

It will also return an error if it encounters while reading an error of a kind other than `ErrorKind::Interrupted`.

# Examples

    use tokio::fs;
    use std::net::SocketAddr;

    #[tokio::main]
    async fn main() -> Result<(), Box<dyn std::error::Error + 'static>> {
        let contents = fs::read("address.txt").await?;
        let foo: SocketAddr = String::from_utf8_lossy(&contents).parse()?;
        Ok(())
    }