解析文本文件并在Java中将值分配为双打

时间:2017-05-11 21:46:25

标签: java parsing

我是Java新手,所以请耐心等待。我有一个大的制表符分隔文本文件,读起来像这样(但有更多的数字和字符):

  

%网格

     

-50 -30 0 30 55

     

-5 -3 0 3 5.5

我希望能够在“%Grid”下面获取每个单独行的Max - Min值,并将这些值分配为单独的双精度数。我能够将非常大的文件解析为一个数组,它为每个值提供它自己的行。不幸的是,我不确定用于区分此文本文件中的行的代码是什么样的。我有一段代码说

if (line.startsWith("%")){
}else {

}

跳过以“%”开头的行。之后,我无法弄清楚如何从每个单独的行获取Max-Min值。任何有关向我展示如何区分文本文件中的行或其他方面的帮助将不胜感激。如果您需要更多信息,请与我们联系。谢谢。

1 个答案:

答案 0 :(得分:0)

您需要拆分线的各个部分,然后遍历数组

double min;
double max;
String[] parts = line.split(" ");
for(String item : parts){
  min = (Double.isNaN(min) || min > Double.parseDouble(item) ? 
    Double.parseDouble(item) : min);
  max = (Double.isNaN(max) || max < Double.parseDouble(item) ? 
    Double.parseDouble(item) : max);    
}