java ByteBuffer 取指定位置 指定长度字节
时间: 2023-10-23 16:19:56 浏览: 356
java 字符串指定长度
在Java中,可以使用ByteBuffer的`get()`方法来获取指定位置和指定长度的字节。以下是一个示例代码:
```java
import java.nio.ByteBuffer;
public class ByteBufferExample {
public static void main(String[] args) {
byte[] bytes = {0x01, 0x02, 0x03, 0x04, 0x05};
ByteBuffer buffer = ByteBuffer.wrap(bytes);
int startIndex = 1;
int length = 3;
byte[] result = new byte[length];
buffer.position(startIndex);
buffer.get(result, 0, length);
System.out.println("Result: " + bytesToHex(result));
}
private static String bytesToHex(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%02X ", b));
}
return sb.toString();
}
}
```
在上面的代码中,我们创建了一个长度为5的字节数组,并使用ByteBuffer.wrap()方法将其包装成ByteBuffer对象。我们指定了起始位置为1,长度为3,然后调用了`get()`方法来获取指定位置和指定长度的字节。最后,我们将结果打印出来。
输出结果应该为:
```
Result: 02 03 04
```
注意,我们在调用`get()`方法之前,需要先将position设置为指定的起始位置。否则,将会从当前的position位置开始读取字节。
阅读全文