您的位置:首页 > 编程语言 > Java开发

java编程识别文件的编码

2018-03-27 16:59 302 查看
/**
* @company
* @copyright Copyright (c) 2015 - 2018
*/

import org.springframework.core.io.ClassPathResource;

import java.io.BufferedInputStream;
import java.io.FileInputStream;

/**
* @author
* @version $Id: EncodeTypeTest, v0.1 2018年03月27日 9:47 ) Exp $
*/
public class EncodeTypeTest {
public static void main(String[] args) {
try {
BufferedInputStream bi = new BufferedInputStream(new FileInputStream(
"D:/ideawork/test/target/classes/spring-config.xml"));
//            System.out.println(ClassLoader.getSystemResource("spring-config.xml"));
ClassPathResource classPathResource = new ClassPathResource("spring-config.xml");
BufferedInputStream bin = new BufferedInputStream(classPathResource.getInputStream());
int p = (bin.read() << 8) + bin.read();
String code = null;
//其中的 0xefbb、0xfffe、0xfeff、0x5c75这些都是这个文件的前面两个字节的16进制数
switch (p) {
case 0xefbb:
code = "UTF-8";
break;
case 0xfffe:
code = "Unicode";
break;
case 0xfeff:
code = "UTF-16BE";
break;
case 0x5c75:
code = "ANSI|ASCII" ;
break ;
default:
code = "GBK";
}
System.out.println(code);
} catch (Exception e) {
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: