我正在尝试用java读取csv文件。下面是我的代码
final BufferedReader bufferedReader = new BufferedReader(new
InputStreamReader(file.getInputStream(entry)));
String line = "";
while ((line = bufferedReader.readLine()) != null) {
System.out.println("line" + line);
final String[] rows = line.split(",");
这是我的csv文件
" 9:42:43AM","Aug 20, 2015","RaceSummary","Page:1","Id","Race","Type","Rot.","District","PrideFor","ArtSeq","ReportSeq","Content","Type","Md","Bar Group","1","LINC ADAPTER SECTION 4","Content","N","A - ARLIN","1","1","1","Oscar James, Sr.","Content","0","<N.P.>"
我正在尝试打印我在csv中提到的列。但我不知道为什么我的输出会变成一行“骄傲”和另一行“For”,就像在接下来的两个值(“ArtSeq”、“ReportSeq”)中重复的那样。谁能告诉我哪里出了错。 谢谢
# 1 楼答案
根据你提供的结果
考虑到它与您的输入不同,我猜输入文件中可能有一个特殊字符或其他内容(例如,制表符或换行符)。这会导致while循环读取第一行(直到换行),然后读取下一行。如果你把这两个放在文件的同一行,它可能会工作得更好
我还要澄清一下,您发布的代码中没有任何内容会导致这种行为,它可能在代码的其他地方,也可能在文件本身中
# 2 楼答案
正如您在输入中看到的,第二个值是逗号“2015年8月20日”,这会导致比您预期的更多的拆分。 例子: 你会认为这部《9:42:43 AM》、《2015年8月20日》是两部,但它是三部
你可以把你的分裂变成
我相信这会解决你的问题