Actualmente, estoy convirtiendo un método Delphi utilizado para el acceso aleatorio de archivos binarios a Java. El procedimiento Delphi usa:Conversión de una matriz de bytes en una matriz de flotantes
TSingleArray = Array[0..MAXSIZE] of Single
...
procedure GetLinkValues(const LinkVar: Integer; const TimePeriod: Integer; var Value: PSingleArray);
...
BlockRead(Fout, Value^, Nlinks*SizeOf(Single));
Para leer una matriz de bytes en una matriz de Single. ¿Hay una forma equivalente de hacer esto en Java sin iterar a través de la matriz?
actualmente estoy usando
List<Float> l = new ArrayList<Float>();
…
for (int i = 0 ; i < nLinks ; i++)
l.add(resultsFile.readFloat());
Pero estoy preocupado por la velocidad. Endianness no es un problema.
Funciona para mí, al menos la tercera vez que lo intenté. http://java.sun.com/javase/6/docs/api/java/nio/FloatBuffer.html –
Todavía estoy deprimido. Creo que debe ser una división neta ... –
Creo que eso significa que la respuesta es no. Lo que estaba buscando era una forma de replicar la operación del puntero en Java, llenando una matriz de Simple (float) con bytes, como creo (quizás incorrectamente) que esto evita la iteración. Más tarde puedo leer valores usando myArray [n] – GrahamA