Per descrivere il mio problema vi posto il codice

private float[] putInVector(){

float[] vector = new float[numberOfSample()];
File soundFile = this.soundFile;
int sample;

try {
AudioInputStream stream = AudioSystem.getAudioInputStream(soundFile);
while((sample = stream.read(b)) != -1){
for(int i = 0; i<b.length; i++){
vector[i] = (float)b[i];

::: PUNTO 1

}
}
stream.close();

}catch(Exception e ){
System.out.println("Errore");
}

::: PUNTO 2

return vector;
}

Il programma è molto semplice: devo portare il risultato di uno stream in un vettore!
Il problema è che nel punto 1 riesco (Se faccio una print ) a visualizzare i valori del vettore.
Nel punto 2 no. E quindi non restituisce nulla!

Penso che il problema stia nella visibilita del vettore che è limitata all'interno del while.
Come Posso fare??