Rust 以Vec读取文件

示例

use std::fs::File;
use std::io::Read;

fn read_a_file() -> std::io::Result<Vec<u8>> {
    let mut file = try!(File::open("example.data"));

    let mut data = Vec::new();
    try!(file.read_to_end(&mut data));

    return Ok(data);
}

std::io::Result<T>是的别名Result<T, std::io::Error>。

try!()发生错误时,宏将从函数返回。

read_to_end()是std::io::Read特质的一种方法,必须明确地used。

read_to_end()不返回读取的数据。相反,它将数据放入给定的容器中。