Kodu belirlediniz ve aslında bir sorun olduğunu gördünüz mü? 'un bir şeyleri ... ... döngü yapmak zorunda kalacak ... ... bunun kodunuzda bir darboğaz olduğundan emin misiniz?
Tüm bunları söyledikten sonra, istediğiniz şeyi yaptığından şüphelendiğim bir FloatBuffer kullanabilmeniz gerekir. Ne yazık ki Sun'ın JavaDoc'u çalışmıyor, bu yüzden o anda belgelere kolayca bağlanamıyorum veya kontrol edemiyorum.
bir FloatBuffer kullanmak için, muhtemelen isterdim:
- (FileInputStream.getChannel ile örneğin) dosyası ile ilişkili bir FileChannel
- Oluştur ByteBuffer
- bir FloatBuffer sarma oluştur ByteBuffer, ByteBuffer.asFloatBuffer ile
- FloatBuffer
başlayarak oku FileChannel.read ile ByteBuffer (byteBuffer) içine oku
Özellikle java.nio ile tanıdık/rahat değilim, bu yüzden umarım bu bu doğrudur - ama oldukça ciddidir. Şu andaki döngüsünüz neredeyse kesinlikle daha basit olduğundan, ilk önce bunun performansını kontrol etmenizi öneririm! Geçerli FileInputStream dosyanızı bir BufferedInputStream, btw'ye sarmak isteyebilirsiniz. Nihai kod Jon tarafından sağlanan yardım dayanarak
Benim için çalışıyor, en azından üçüncü kez denedim. http://java.sun.com/javase/6/docs/api/java/nio/FloatBuffer.html –
Hala benim için aşağı. Bence bu bir bölünmüş olmalı ... –
Bence bu, cevabın hayır olduğu anlamına geliyor. Aradığım şey, Java'daki işaretçi işleminin çoğaltılmasının bir yoluydu, bir dizi Basit (float) dizisini baytlarla doldurarak (belki de yanlış) bu yinelemeyi önler. Daha sonra myArray [n] – GrahamA