java获取文件编码格式

java开发时在以流的方式读取文件内容时,往往会中文乱码,那么就要考虑到统一编码格式

InputStreamReader read = new InputStreamReader(new FileInputStream(file),encoding);

获得文件编码  

/**
	 * 获得文件编码  
	 * @param fileName
	 * @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();
        bin.close();
        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;
    }

猜你喜欢

转载自blog.csdn.net/ardo_pass/article/details/86157619