leer de un archivo txt y guardarlo en un array

aleperezb
07 de Diciembre del 2005
Hola!, necesito leer un archivo *.txt que tiene el siguiente formato:
4.556
8.667
99.000
5.678
346.9008
Y necesito guardalor en un array, se que leerlos por pantalla me resulta bien:
// para llenar el vector de la varaible Xk
BufferedReader inData = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Ingrese numero de elementos de Xk= ");
int s = Integer.parseInt(inData.readLine());
arrayX = new float[s];
for (int index = 0; index < arrayX.length; index++) {
System.out.println("Ingresar valor Xk[" + index + "] = ");
arrayX[index] = Integer.parseInt(inData.readLine());
}
for (int index = 0; index < arrayX.length; index++) {
System.out.println("Xk[" + index + "] = " + arrayX[index]);
}

pero si no quiero ingresarlo por teclado y leerlos del archivo..¿que hago?
Gracias!

Diego
07 de Diciembre del 2005
import java.io.*;
import java.util.*;

public static double[] leeArchivo(String nombreArchivo) throws FileNotFoundException
{
Scanner lector=new Scanner(new File(nombreArchivo));
LinkedList<Double> lista=new LinkedList<Double>();
while(lector.hasNextDouble())
lista.add(lector.nextDouble());
double [] array=new double[lista.size()];
return lista.toArray(array);
}

Diego
07 de Diciembre del 2005
Perdón, el código anterior no funciona, porque el jdk1.5 transforma automáticamente un Double en un double, pero no un array de un tipo en un array del otro tipo, que es mucho más costoso. El código correcto es:
public static double[] leeArchivo(String nombreArchivo) throws FileNotFoundException
{
Scanner lector=new Scanner(new File(nombreArchivo));
LinkedList<Double> lista=new LinkedList<Double>();
while(lector.hasNextDouble())
lista.add(lector.nextDouble());
double [] array=new double[lista.size()];
Iterator<Double> iter=lista.iterator();
for(int i=0;i<array.length;i++)
array[i]=iter.next();
return array;
}