Java Tokenizer帮助,只读取一行的第一项

时间:2014-02-06 23:32:38

标签: java tokenize

我正在使用Java tokenizer来读取文件中的值,这些值由逗号(44.1,50.6,34.9等)分隔。在包含值的文件中,每行有12个项目和43行。它主要是工作,只是它似乎只是从一行读取第一项。所以不是516项,而是最终只有43项。这是我的方法:

          BufferedReader input;
          String line;
          StringTokenizer tokenizer;

          try {

             input = new BufferedReader(new FileReader(fileName));
             while ((line = input.readLine()) != null) {

                tokenizer = new StringTokenizer(line, ",");
                double temperature = Double.parseDouble(tokenizer.nextToken());
                temps.insert(0, temperature);

             }
          }
          catch (IOException e) {
             e.printStackTrace();
             System.exit(1);
          }

任何帮助将不胜感激。这是我第一次使用tokenizer。对不起,如果这已经回答了。我四处寻找无济于事。

2 个答案:

答案 0 :(得分:2)

标记器抓取第一个值并在第一个“,”处停止。 你需要循环使用:

while(tokenizer.hasMoreTokens()){

}

答案 1 :(得分:0)

更改:

double temperature = Double.parseDouble(tokenizer.nextToken());
temps.insert(0, temperature);

到:

while( tokenizer.hasMoreTokens() ) {
    double temperature = Double.parseDouble(tokenizer.nextToken());
    temps.insert(0, temperature);
}