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

问题描述 投票:1回答:1

我使用此代码成功读取了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"))

但这并没有解决问题。

有什么想法来解决这个问题?感谢您抽出宝贵时间来做这件事。

java java.util.scanner carriage-return end-of-line
1个回答
0
投票

你需要一个CSV解析器来正确读取文件。真正的解决方案是在\n之间的\r"不是一条线的终点。

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

© www.soinside.com 2019 - 2024. All rights reserved.