我的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()
函数。
真正困扰我的是如何真正导入所有数字。
答案 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矩阵并按你想要的方式工作
希望这个帮助