簡體   English   中英

Java掃描器讀取CSV文件時讀取的內容不存在

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM