[英]Java Scanner reading something that is not there when reading CSV file
我有一個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());
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.