gpt4 book ai didi

Java Scanner 在读取 CSV 文件时读取不存在的内容

转载 作者:行者123 更新时间:2023-11-30 06:15:27 25 4
gpt4 key购买 nike

我有一个这样的 csv 文件

Mike,Smith
Scuba,Steve
John,Doe

Java 代码是这样的:

Scanner file=new Scanner(new File("input.txt"));

file.useDelimiter(",");
while (file.hasNext()){

String s1=file.next();
String s2=file.next();
System.out.println(s1+" "+s2);

}
file.close();

我得到的输出是:

Mike Smith
Scuba
Steve
John Doe

我不明白是什么可能使这项工作适用于前两个名字而不是中间的名字

最佳答案

这是因为 Smith\nScuba 成为了一个标记。 (没有 , 将它们分开。)

使用

file.useDelimiter(",|\n");

解决问题。


如果您碰巧使用的是 Java 8,我建议您使用类似的东西:

Files.lines(Paths.get("input.txt"))
.forEach(line -> {
Scanner s = new Scanner(line);
s.useDelimiter(",");
System.out.println(s.next() + " " + s.next());
});

关于Java Scanner 在读取 CSV 文件时读取不存在的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28724466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com