如何将.txt文件中的2D浮点矩阵导入Java中的2D浮点数组?

时间:2013-05-30 09:22:09

标签: java java-io

我的data.txt文件采用以下格式:

14 -0.0 0.29964766 10.7192135 0.0 0.0 0.0 0.0 0.0 0.0
15 -0.0 0.29964766 10.7192135 0.0 0.0 0.0 -8.4375 -36.6875 2.25
15 -0.0 0.29964766 10.7192135 0.20300001 -0.083000004 -0.019000001 -8.4375 -36.6875 2.25
16 -0.0 0.29964766 10.7192135 0.20300001 -0.083000004 -0.019000001 -8.4375 -36.6875 2.25
16 -0.0 0.29964766 10.7192135 0.136 -0.072000004 -0.020000001 -8.4375 -36.6875 2.25
16 -0.0 0.29964766 10.7192135 0.136 -0.072000004 -0.020000001 -8.4375 -36.6875 2.25
17 -0.0 0.29964766 10.7192135 0.136 -0.072000004 -0.020000001 -8.4375 -36.6875 2.25
20 0.21792556 0.40861043 9.956474 0.136 -0.072000004 -0.020000001 -8.4375 -36.6875 2.25
21 0.21792556 0.40861043 9.956474 0.136 -0.072000004 -0.020000001 -8.4375 -36.375 1.375
...

它总是有16列。但行号未知因为它实际上是收集的数据集的数量,因此取决于收集数据的时间长短。

我希望将这些数据导入到Java中的2D浮点数组中,以便我可以轻松地将一列用于分析目的。

有人可以帮忙吗?


未知的行号不是问题。我可以轻松写出getRowNumber()函数。

真正困扰我的是如何真正导入所有数字。

1 个答案:

答案 0 :(得分:1)

如果您想知道文件中的行号,您可以读取它并在while循环中放置一个计数器

    public int lineCounter(){
     BufferedReader br = new BufferedReader(new FileReader("file.txt"));
     int i =0;   
     try {
            String line = br.readLine();

            while (line != null) {
                i++;
            }
            String everything = sb.toString();
        } finally {
            br.close();
        }
        return i;
    }

然后你可以设置你的2d矩阵并按你想要的方式工作

希望这个帮助