如何将 Vec<u8> 写入文件?

Pix*_*der 9 file vector rust

我有一个 Base64 图像,并Vec<u8>从中获取并将它们写入文件。这是我的代码:

let file_contents_base64: Vec<u8> = image_base64::from_base64(
    String::from(&file_contents_string_vec[0])
);
Run Code Online (Sandbox Code Playgroud)

我想将file_contents_base64变量写入文件。

Apl*_*123 16

除了 之外fs::write,还有一个针对实现该Write特征的所有内容的通用解决方案,方法是使用write_all

use std::io::Write; // bring trait into scope
use std::fs;

// ... later in code
let mut file = fs::OpenOptions::new()
    // .create(true) // To create a new file
    .write(true)
    // either use the ? operator or unwrap since it returns a Result
    .open("/path/to/file")?;

file.write_all(&file_contents_base64);
Run Code Online (Sandbox Code Playgroud)

  • 什么是开放选项? (3认同)

Val*_*tin 8

image-base64您正在使用板条箱这一事实似乎与该问题不太相关。考虑到您只想将 a 写入Vec<u8>文件,那么您可以使用例如fs::write()

use std::fs;
use std::path::Path;

let file_contents_base64: Vec<u8> = ...;
let path: &Path = ...;

fs::write(path, file_contents_base64).unwrap();
Run Code Online (Sandbox Code Playgroud)