【发布时间】:2011-04-18 03:36:44
【问题描述】:
这可能是一个简单的问题,但我一直未能找到满意的答案。我正在用 Java 编写一个类,该类需要接收一个 .csv 文件,该文件在三列中填充了双精度值。显然 .csv 文件使用逗号作为分隔符,但是当我尝试使用扫描仪设置它们时,扫描仪什么也找不到。有什么建议吗?
Scanner s = null;
try {
s = new Scanner(source);
//s.useDelimiter("[\\s,\r\n]+"); //This one works if I am using a .txt file
//s.useDelimiter(", \n"); // This is what I thought would work for a .csv file
...
} catch (FileNotFoundException e) {
System.err.format("FileNotFoundException: %s%s", e);
} catch (IOException e) {
System.err.format("IOException: %s%n", e);
}
示例输入是:
12.3 11.2 27.0
0.5 97.1 18.3
等等
感谢您的宝贵时间!
编辑:修复!找到正确的分隔符并意识到我使用的是 hasNextInt() 而不是 hasNextDouble()。 /掌脸
【问题讨论】:
-
您能否提供一两行示例 .csv 文件?
-
当然。我会把它添加到我的问题中
-
我在您的示例输入中没有看到任何逗号。
标签: java csv java.util.scanner