ByteBuffer에 byte []를 넣고 FloatBuffer (.asFloatBuffer
)로 변환 한 다음 byte []를 float []로 변환하려고합니다. 배열로. byte []를 float []로 변환하는 UnsupportedOperationException
private static float[] toFloatArray(byte[] bytes) {
ByteBuffer buffer = ByteBuffer.wrap(bytes);
return buffer.asFloatBuffer().array();
}
그러나 실행 :
byte[] bytes = {14,32,26,21};
toFloatArray(bytes);
나에게 java.lang.UnsupportedOperationException at java.nio.FloatBuffer.array(Unknown Source)
를 제공합니다. 나는 그 오류가 배열 (???)에 의해 뒷받침되지 않는 버퍼와 관련이 있다고 말한다고 믿는다.
누구나이 문제를 해결하는 방법을 알고 있습니까? 아니면이 배열을 어떻게 float으로 변환해야합니까?
나는 당신이 "더 깊게"가고, float []가 바이트 [] 대신에 시작해야한다고 생각하고 싶다. 그 부분을 제외하면 입력이 부족할 때까지 래핑 된 버퍼에서 #getFloat()를 호출 할 수 있습니다. – Max