当我们读取常见的txt文本的时候,会遇到读取内容和用文本编辑器看到内容不一致的问题,这是因为txt设置了bom头信息导致的,多为读取第一行的开头会有一个“?”
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
如果像是上面这样写就会造成这种问题。
最简单解决方式就是使用UnicodeReader,代码如下
import org.yaml.snakeyaml.reader.UnicodeReader;
try {FileInputStream fis = new FileInputStream(file);UnicodeReader ur = new UnicodeReader(fis);BufferedReader bufferedReader = new BufferedReader(ur);String text = null;while((text = bufferedReader.readLine()) != null){//XXXXXXXX}} catch(Exception e) {e.printStackTrace();}
希望对于有这个困惑的同学有帮助。