我正在使用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。对不起,如果这已经回答了。我四处寻找无济于事。
答案 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);
}