Windows 上 Java 读取 txt 格式文件出错
找到问题:
bufferedreader读取txt文件时首行为什么会多一个占位?
1、windows7新建一个记事本默认采用的编码是GBK,java使用GBK来读取不会乱码
2、windows7记事本将txt文件另存为UTF-8格式的文件时采用的UTF-8+BOM格式编码,和UTF-8有点区别,
主要是UTF-8+BOM格式一般在文件头部会有BOM编码,该编码标识了这个文件是一个UTF-8文件。
而jdk7&8在处理UTF-8+BOM格式编码文件可以看出Java在读文件时没能正确处理UTF-8文件的BOM编码,输出了最前面一个空字符(其实是一个占位符,会占用一个长度,即length+1)
原文链接:
https://www.cnblogs.com/poterliu/p/13261733.html