Sto provando a convertire un byte [] in un float [] inserendo il byte [] in un ByteBuffer, convertendolo in FloatBuffer (.asFloatBuffer
) e quindi convertendo questo a un array.UnsupportedOperationException con conversione byte [] in float []
private static float[] toFloatArray(byte[] bytes) {
ByteBuffer buffer = ByteBuffer.wrap(bytes);
return buffer.asFloatBuffer().array();
}
Tuttavia esecuzione:
byte[] bytes = {14,32,26,21};
toFloatArray(bytes);
mi dà un java.lang.UnsupportedOperationException at java.nio.FloatBuffer.array(Unknown Source)
. Credo che la documentazione dice che l'errore ha qualcosa a che fare con il buffer che non viene supportato da un array (???).
Qualcuno ha un'idea su come risolvere il problema, o come DEVO convertire questo array in float?
Sono tentato di pensare che dovresti andare "in profondità" e provare a ottenere un float [] per iniziare invece di un byte []. Escluso questo, è possibile chiamare #getFloat() sul buffer spostato finché non si esaurisce l'input. – Max