java判断文件是不是utf-8编码
时间: 2023-09-12 11:05:23 浏览: 69
Java中可以通过判断文件的BOM(Byte Order Mark)来判断文件是否为UTF-8编码。
BOM是Unicode编码中的一个标记,它是在文本文件开头出现的几个字节,用来表示这个文件采用了哪种Unicode字符编码方案。在UTF-8编码中,BOM的字节序列为“EF BB BF”。
下面是一个Java判断文件是否为UTF-8编码的示例代码:
```java
import java.io.*;
public class CheckUTF8 {
public static void main(String[] args) throws Exception {
File file = new File("test.txt");
FileInputStream fis = new FileInputStream(file);
byte[] b = new byte[3];
fis.read(b);
fis.close();
if (b[0] == (byte) 0xEF && b[1] == (byte) 0xBB && b[2] == (byte) 0xBF) {
System.out.println("文件编码为UTF-8");
} else {
System.out.println("文件编码不为UTF-8");
}
}
}
```
在这个示例代码中,我们首先读取文件的前三个字节,然后判断这三个字节是否为UTF-8编码的BOM。如果是,则说明文件编码为UTF-8;否则说明文件编码不为UTF-8。