我正在尝试使用 Scanner.useDelimiter(";")
逐值读取 CSV 文件。
但是,Scanner.nextLine()
仍然返回整行而不是单个值。
CSV 文件如下所示:
0.00034;0.1;0.3;0.6;1,00E-13
我的代码:
Scanner iStream = new Scanner(new InputStreamReader(new FileInputStream(file.cvs);
iStream.useDelimiter(";");
String[] test = new String[5];
for (int i = 0; i < 5; i++) {
test[i] = iStream.nextLine();
}
结果:
"0.00034;0.1;0.3;0.6;1,00E-13"
预期结果:
"0.00034", "0.1", "0.3", "0.6", "1,00E-13"
这可能吗,还是应该使用String.split()
?
我错过了什么吗?
最佳答案
除此之外,这个问题对于像OpenCSV这样的解析库来说是现成的。 , nextLine
不考虑分隔符模式。使用 next
代替
test[i] = iStream.next();
关于java - 使用扫描仪读取 csv 文件值,useDelimiter (";")不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26544691/