実際のデータが続くバイト長で指定された 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() 呼び出しはバッファ内のデータを読み飛ばします:-(
おそらく、フリップ、巻き戻し、リセットなどの組み合わせが必要ですが、わかりません。