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

 

posted @ 2020-07-19 01:00  poterliu  阅读(400)  评论(0编辑  收藏  举报