起初时以为是待读取的文件编码有问题,经检查是UTF-8,问题不在这里。
然后检查项目文件的编码,也是UTF-8。在网上搜索,有建议在application.properties中添加强制编码选项,同时修改其编码为UTF-8,这个也尝试过,无效。
最后修改了读取文件的方式,以往都是用FileReader来读取,现在改成:
fis = new FileInputStream(filePath);
isr = new InputStreamReader(fis, "UTF-8");
br = new BufferedReader(isr);
解决了问题。
但是问题的根源?不清楚,目前怀疑是SpringBoot引起的,之后找机会检查一下。