最近项目碰到一个小问题,配置文件如果用记事本改过,会因为解析错误导致启动失败。
分析后发现,文件开头加上了3个隐藏字节,用UE的16进制模式可以看到开头有EF BB BF这3个字节,这个就是“BOM”头。
解决方案:
http://koti.mbnet.fi/akini/java/unicodereader/UnicodeReader.java.txt
调用代码:
原先是
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
现在改为
BufferedReader reader = new BufferedReader(new UnicodeReader(in, null));
测试OK~