用 Scanner 扫描CSV文件时报错:“java.util.nosuchelementexception:no line found”的解决方法

最近用 java 对一个很大的 CSV 文件进行处理。打算用 Scanner 逐行扫描进来,结果报错 “java.util.nosuchelementexception:no line found”.

在网上查,说是已经没有下一行,但是我已经进行了 scan.hasNext() 检验。然后用 VScode 打开看到编码方式是 UTF-8 with BOM,然后看文档发现 Scanner 有 Scanner(File file, String charsetName) 的构造器(传送门)。然后搜索文档,发现有 CharSet ,其中指明了标准字符集有 UTF-8,所以在构造器中将 charsetName 参数制定为 'UTF-8',成功解决问题
image

posted @ 2022-08-04 22:14  计数寄存器  阅读(289)  评论(0编辑  收藏  举报