0

我需要将一个.txt文件解析为三个双精度数组。这个文件有不同的行。每行有三个整数除以空格。

例子:

19.1    24.3    0
18.2    24.0    0
12.6    24.9    20
14.4    28.0    20

我的目标是获得三个双数组(x,yz),并且在每个数组中应该有一列。所以结果应该和写下面的指令是一样的:

double[] x = {19.1,18.2,12.6,14.4};
double[] y = {24.3,24.0,24.9,28.0};
double[] z = {0,0,20,20};

我知道如何打开和读取文件,如下所示:

String file = "filename.txt";
String line=null;
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
while(!(line=br.readLine()).contains("EOF")) {
  // read and process one line..
}

我不知道该怎么做是如何解析当前行的每个数字并将其分配给三个向量之一。

4

1 回答 1

2

您可以简单地拆分和解析每一行,如下所示:

String[] row = line.split("\\s+");
double d1 = Double.parseDouble(row[0]);
double d2 = Double.parseDouble(row[1]);
double d3 = Double.parseDouble(row[2]);

ArrayList此外,如果行数不固定,那么使用s 的Doubles 而不是 s 的数组会更容易且更有意义double

于 2012-05-28T17:11:06.783 回答