从多行文本文件中获取整数向量

时间:2012-05-28 16:56:25

标签: java parsing integer

我需要将.txt文件解析为三个双数组。这个文件有各种各样的行。在每一行中有三个整数除以空格。

示例:

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

我的目标是获得三个双数组(xyz),并且每个数组中都应该有一列。所以结果应该与编写以下指令相同:

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

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

1 个答案:

答案 0 :(得分: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的{​​{1}}代替Double的数组会更容易,更有意义。