使用 linereader.readline() 跳过 csv 中的第一行但面临代码质量问题

问题描述

需要帮助..!!

在实际 while 循环开始获取下一行值之前,我试图使用“linereader.readline()”跳过 CSV 文件的第一行。

但是根据 SONAR 等代码质量,应该使用“read”和“readLine”返回值。

大多数帖子的回答者都选择了相同的解决方案来跳过第一行。

跳过第一行但同时不属于声纳问题的任何意见: https://rules.sonarsource.com/java/RSPEC-2677

谢谢。

解决方法

与其执行内联 .readLine() 以跳过项目,sonarqube 是说您仍应将其分配给变量。
“当调用返回从某个数据源读取的数据的方法时,应存储该数据而不是丢弃该数据。任何其他行动方案肯定是一个错误。” - Sonarqube 文档

之所以这样做,是因为在没有人能够轻松查看特定文件的输入/输出的情况下,任意丢弃数据在大规模上可能非常危险。

基本上而不是:
bufferedReader.readline()
String line
//do whatever file read you're going to do thing

你应该有:
String line = bufferedReader.readline()
//Do whatever logic you're going to do with the file

这应该满足 Sonarqube。