如何从ByteBuffer中提取信息块?

时间:2017-07-17 19:10:00

标签: java deep-copy bytebuffer

我有一个通过FOR /F "usebackq tokens=2 skip=2" %i IN (`TASKLIST /FI "IMAGENAME eq name_of_task.exe"`) DO tskill %i填充的ByteBuffer。

我想将信息提取为位于此缓冲区中特定位置的byte []或ByteBuffer。

目前正在这样做:

socketChannel.read(buffer)

每次我想从缓冲区中提取信息时,我都不想创建副本。我想出了以下方法。请告知是否有更好的方法来实现这一目标。

byte[] data = new byte[length];
int oldPos = buffer.position();
buffer.position(offset);
buffer.get(data, 0, length);
buffer.position(oldPos);

0 个答案:

没有答案