javaBufferdReader读取文件乱码
以下为读取文件方法
|
|
在InputStreamReader
中加入”UTF-8”即可
Java读取文件时第一行出现乱码“?”问号
在windows 环境下,使用java文件流读取文本文件时,会出现第一个字符为未知字符”?” ,其他字符完整。而且第一个字符显示为?但是用equals比对发现并非是”?”号,google之,了解到bom编码标记。使用 16进制打印输出结果:
只要出现该头的16进制编码为这种字符便可以断定该文本文件的编码方式了。
bom编码标记:
bom全称是:byte order mark,汉语意思是标记字节顺序码。只是出现在:unicode字符集中,只有unicode字符集,存储时候,要求指定编码,如果不指定,windows还会用默认的:ANSI读取。常见的bom头是:
UTF-8 ║ EF BB BF
UTF-16LE ║ FF FE (小尾)
UTF-16BE ║ FE FF (大尾)
UTF-32LE ║ FF FE 00 00
UTF-32BE ║ 00 00 FE FF
解决方法:
工具将txt文件另存为UTF-8无BOM格式
|
|