我正在使用Java令牌生成器从文件中读取值,这些值之间用逗号分隔(44.1、50.6、34.9等)。在包含值的文件中,每行12行,每行43条。除了看起来似乎只从一行中读取第一个项目外,它几乎可以正常工作。因此,我只剩下43个而不是516个项目。这是我的方法:

          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。对不起,如果已经回答。我四处搜寻无济于事。

最佳答案

更改:

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


至:

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

关于java - Java Tokenizer帮助,仅读取一行的第一项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21616361/

10-11 07:19