读取二进制文件报错
下面的代码可以复现
use std::fs::File;
use std::io::{self, prelude::*, BufReader};
fn main() -> io::Result<()> {
let file = File::open("./target/debug/foo")?;
let reader = BufReader::new(file);
for line in reader.lines() {
println!("{}", line?);
}
Ok(())
}
//输出
//Error: Custom { kind: InvalidData, error: StringError("stream did not contain valid UTF-8") }
能想的解决方法
不使用官方库的函数,实现一个类似 reader.lines 的方法,不过返回 bytes。想问下除了自己手动造轮子有没有现成的方法???