我想写一些可以读取字节的代码:
- 标准输入
- 文件
- 一个字符串
- TCP
也许还有其他人。在 Rust 中执行此操作的最佳方法是什么?
我认为 std::io::Read
特性是可行的方法,但它似乎至少缺少字符串的实现(我只需要这个特殊的测试 - 也许我可以使用别的东西)?
最佳答案
您可能会发现使用 impl<'_> Read for &' [u8]
trait 会有所帮助用于从字符串中读取字节。如类型所示,您必须首先将漂亮的字符串转换为一段字节。这是一个简短的示例。
use std::fs::File;
use std::io::{Error, Read, BufReader};
fn whoo<T: Read>(mut readable: T) {
let mut buffer = [0; 10];
readable.read(&mut buffer).expect("panic");
println!("{:?}", buffer);
}
fn main() -> Result<(), Error> {
whoo("hello there".as_bytes());
whoo("".as_bytes());
let dict = File::open("/usr/share/dict/words")?;
let reader = BufReader::new(dict);
whoo(reader);
Ok(())
}
关于rust - 我应该使用什么特征来从文件、TCP 连接、简单字符串中读取字节流......?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55818973/