在Java中,如何测试一个文件的编码肯定不是utf-8?
我想能够验证内容是否是格式良好的utf-8。
此外,还需要验证文件是否不以字节顺序标记(BOM)开头。
我想能够验证内容是否是格式良好的utf-8。
此外,还需要验证文件是否不以字节顺序标记(BOM)开头。
Path path = Paths.get("/home/dave/somefile.txt");
try (Reader reader = Files.newBufferedReader(path)) {
int c = reader.read();
if (c == 0xfeff) {
System.out.println("File starts with a byte order mark.");
} else if (c >= 0) {
reader.transferTo(Writer.nullWriter());
}
} catch (CharacterCodingException e) {
System.out.println("Not a UTF-8 file.");
}