Java:尝试忽略(或跳过)不是行尾的回车(\n)

qvtsj1bj  于 2023-05-05  发布在  Java
关注(0)|答案(1)|浏览(90)

我用这段代码成功地从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”,
进货请购单编号和文件编号:,“TBDTBD”,,赞助商持有的资金/未分配资金,,,$-,,NS 02,$-,$-,
我试图通过告诉代码查找前面有逗号“,”的回车符“\n”作为真正的行尾来解决这个问题

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

但这并没有解决问题。
解决这个问题的思路是什么?感谢您抽出时间来做这件事。

laawzig2

laawzig21#

你需要一个CSV解析器来正确读取文件。真实的的解决方案是\n\r之间的"不是一行的结束。
请使用正确的CSV解析器,因为这不是您将遇到的唯一问题。带有,的数据可能是另一个这样的问题。CSV解析器将解决所有这些问题。

相关问题