【发布时间】:2020-03-31 12:55:00
【问题描述】:
有没有一种简单的方法可以在 Rust 中读取文件的前 N 个字节?两个最相关的函数似乎是read 和read_exact,但read 可以返回比可用字节少的字节,所以我不得不在一个烦人的循环中调用它,如果read_exact 放弃了文件比 N 个字节短(而我希望它只读取整个文件)。
这不是这个问题的重复,可以用read_exact解决:How to read a specific number of bytes from a stream?
【问题讨论】:
-
我猜不会,因为它试图封装 C 的 read 函数的所有功能。见stackoverflow.com/questions/37042287/…
-
reader.take(N).read_to_end() -
效率高吗?我觉得它很有可能一次只做一个字节......
-
效率很高。我看不出是什么让你认为它不是。
-
.take(N).read_to_end()解决方案效率低下:it only reads 32 bytes at a time until the last read where it reads whatever remains to reach the total 而不是尝试一次读取N字节。
标签: rust