Leyendo valores dobles de un archivo.

Estoy tratando de leer algunos números (dobles) de un archivo y almacenarlos en un ArrayList y una matriz (sí, necesito ambos) con el siguiente código:

try {
    Scanner scan = new Scanner(file).useDelimiter("\\s*\\n");

    while(scan.hasNextDouble())
    {
        tmp.add(scan.nextDouble());
    }

    Double[][] tmp2 = new Double[tmp.size()/2][2];
    int tmp3 = 0;
    for(int i = 0; i < tmp.size()/2; i++)
    {
        for(int j = 0; j < 2; j++)
        {
            tmp2[i][j] = tmp.get(tmp3);
            tmp3++;
        }
    }

} catch (FileNotFoundException e1) {
    e1.printStackTrace();
}

}

El archivo que estoy tratando de leer es:

0.0 0.0
0.023 0.023
0.05 0.05
0.2 0.2
0.5 0.5
0.8 0.8
0.950 0.950
0.977 0.977
1.0 1.0

Pero bueno, mi código no funciona, la función hasNextDouble () no encuentra nada, ¿qué estoy haciendo mal?

EDITAR: está bien, así que edité un poco la fuente (cambié de Objeto [] [] a Doble [] []) y agregué valores de inserción en la matriz después de que se insertaron en la ArrayList, pero aún así no funciona. while 'loop no se ejecuta una sola vez.

Respuestas a la pregunta(4)

Su respuesta a la pregunta