我们经常会遇到读取文件内容的情况,就需要判断文件是否为文本文件,及文件编码格式,防止乱码出现。
根据文件扩展名判定不太准确,可能会遇到未知扩展名或被修改了扩展名,下面的测试类使用文件头来判断,两个方法是:
1、判断文件是否为文本格式的文件 - isText
FileInputStream fin = new FileInputStream(file);
long len = file.length();
for (int j = 0; j < (int) len; j++) {
int t = fin.read();
if (t < 32 && t != 9 && t != 10 && t != 13) {
isText = false;
break;
}
}
2、获取文件的编码格式 - getFilecharset
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(sourceFile));
bis.mark(0);
int read = bis.read(first3Bytes, 0, 3);
完整代码请到实例中心免费查看和获取 Java 判断文件是否为文本文件及获取文件编码格式的方法实例
本文系作者在时代Java发表,未经许可,不得转载。
如有侵权,请联系nowjava@qq.com删除。