我想从一个给定字节长度的 TCP 流中读取一个字符串,然后是实际数据。在 Python 中,我会做
length = ord(stream.read(1))
data = stream.read(length)
我如何在 Java NIO 中做同样的事情?我有一个缓冲区(容量为 257)
stream.read(buffer); // cannot specify a size here
int length = buffer.get();
byte[] data = new byte[length];
buffer.get(data);
不幸的是,这不起作用: get() 调用读取缓冲区中的数据:-(
我可能需要翻转、倒带、重置等的某种组合,但我无法弄清楚。