当前位置: 代码迷 >> J2SE >> 怎么用JAVA 判断一个文本文件的编码字符集?高分大侠!
  详细解决方案

怎么用JAVA 判断一个文本文件的编码字符集?高分大侠!

热度:103   发布时间:2016-04-24 00:48:18.0
如何用JAVA 判断一个文本文件的编码字符集?高分请教各位大侠!!!
比如 从 greepplum 数据库导出来的纯数据的文本文件,我想知道它是以什么字符集编码的!数据量很大,不能用本文编辑工具打开!!!我该怎么办?

------解决方案--------------------
Java code
/**     * 判断文件的编码格式     * @param fileName :file     * @return 文件编码格式     * @throws Exception     */    public static String codeString(String fileName) throws Exception{        BufferedInputStream bin = new BufferedInputStream(        new FileInputStream(fileName));        int p = (bin.read() << 8) + bin.read();        String code = null;                switch (p) {            case 0xefbb:                code = "UTF-8";                break;            case 0xfffe:                code = "Unicode";                break;            case 0xfeff:                code = "UTF-16BE";                break;            default:                code = "GBK";        }                return code;    }
------解决方案--------------------
获取文件的前三个字节。
------解决方案--------------------
1:可以试试
Unicode:       前两个字节为FFFE; 
Unicode big endian: 前两字节为FEFF;  
UTF-8:        前两字节为EFBB; 
其他的格式没找到,不过如果是中文的话,除了UTF8就是GB2312,要不就是BIG5,
2.取前100个字符,用格式编码尝试,看哪个不是乱码

3.用其他文本编辑工具打开
Jota Text Editor
Jota 是一个为超长文本文件设计的文本编辑器。
她的名字发音为 "i-o-ta"。
特性
- 支持多达 100 万个字符。
- 自动检测多种字符编码。
------解决方案--------------------
utf-8前面3个字节标志:ef bb bf
  相关解决方案