我用这段代码成功地从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"))
但这并没有解决问题。
解决这个问题的思路是什么?感谢您抽出时间来做这件事。
1条答案
按热度按时间laawzig21#
你需要一个CSV解析器来正确读取文件。真实的的解决方案是
\n
或\r
之间的"
不是一行的结束。请使用正确的CSV解析器,因为这不是您将遇到的唯一问题。带有
,
的数据可能是另一个这样的问题。CSV解析器将解决所有这些问题。