0

我的 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()函数。

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

4

1 回答 1

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;
    }

然后你可以设置你的二维矩阵并按照你的意愿工作

希望这有帮助

于 2013-05-30T09:48:30.610 回答