给定一个输入流,我想要一个可以调用 next()
的工具,当前执行会阻塞,直到流中累积了 50 个字节,此时 next()
> 返回长度为 50 的 byte[]
,其中包含相关数据。
在 Google 上找到正确的短语非常困难,这就是我来这里的原因。
谢谢。
最佳答案
JDK 中没有这样的工具,但您可以简单地将 InputStream
包装到 DataInputStream
中。并调用readFully(byte[])
关于它:
InputStream is = // ...
DataInputStream dis = new DataInputStream(is);
byte[] bytes = new byte[50];
dis.readFully(bytes);
// "bytes" now contains exactly 50 bytes from the stream
要拥有一个带有 next()
方法的类,请实现 Iterator
接口(interface)并在内部执行上述操作。
关于java - 每个固定字节长度从InputStream中提取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35817251/