我成功用此代码从csv文件中读取了数据

            Scanner scanIt = new Scanner(new BufferedReader(new FileReader(filef)));
            while (scanIt.hasNextLine())
            {
                String inputLine = scanIt.nextLine();
                System.out.println(inputLine);
            }
            scanIt.close();


直到我遇到此行(在文件中),而该行似乎在“-”,“ TBD和TBD”之间的读取行中埋有“回车”,


  传入的PR#和Doc#:“ TBDTBD”,赞助商持有/未分配的资金
  资金$,,-,, NS02,$-,$-,


我试图通过告诉代码查找回车符“ \ n”和逗号“,”作为行的真正结尾来解决此问题

while (scanIt.hasNext(","+"\n"))


但这并不能解决问题。

解决这个问题的想法是什么?
感谢您抽出宝贵的时间来执行此操作。

最佳答案

您需要一个CSV解析器来正确读取文件。真正的解决方案是在\n之间的\r"不是行的结尾。

请使用适当的CSV解析器,因为这不是您会遇到的唯一问题。带有,的数据可能是另一个这样的问题。 CSV解析器将解决所有这些问题。

10-01 12:34