带Bom的UTF8文件头三个字节:
(head[0] == -17 && head[1] == -69 && head[2] == -65)
不带Bom:
(head[0] == 49 && head[1] == 50 && head[2] == 51)
Java读取文件移除Bom方式1:
FileInputStream fis = new FileInputStream(file);
UnicodeReader ur = new UnicodeReader(fis, "utf-8");
BufferedReader br = new BufferedReader(ur);
方式2:
byte[] nbs = new byte[code.bytes.length - 3]
System.arraycopy(code.bytes, 3, nbs, 0, nbs.length)
code = new String(nbs, "UTF-8")