Die Sache mit der Datenstruktur müßte man sich nochmal genauer ansehen.
Aber zur Frage der Verarbeitung an sich kannst du dir mal den
NIO-Kram "in der Nähe von"
FileChannel (Java 2 Platform SE v1.4.2) ansehen. Ehrlich gesagt habe ich damit selbst noch nicht gearbeitet, aber damit sollte es möglich sein, ein Stück von einer Datei in den Speicher zu mappen und dort als ByteArray anzusehen - und DEN kann man wiederum in einen FloatArray oder so einwickeln, wo man auch mit der Big/Little-Endian-Order rumhantieren kann (siehe
ByteBuffer (Java 2 Platform SE v1.4.2)) ... vielleicht hilft's ja als Ansatz oder möglicher Ausgangspunkt für weitere Tests.
BTW: Bei einer rekursiven Auswertung sollte man eigentlich (wenn die Auswertung, wie der Name suggeriert, wirklich den Array nur LIEST) immer denSELBEN Array in die nächste Rekursionsstufe üebrgeben können, und ggf. nur einen angepassten start- und end-Index für den in dieser Rekursionsstufe relevanten Bereich des Arrays mit übergeben müssen.