一、读取Unicode文件

/**
 * 读取Unicode编码文本文件
 * @param resource String - 文件名
 * @return String - Unicode文本
 */
public static String read_Uni(String resource) {
    byte word_uni[] = new byte[1024];
    String strReturn = null;
    InputStream is;
    try {
        is = instance.getClass().getResourceAsStream(resource);
        is.skip(2); // 跳过两个字节的文件头
        is.read(word_uni);
        is.close();
        StringBuffer stringbuffer = new StringBuffer("");
        for (int j = 0; j < word_uni.length; ) {
            int l = word_uni[j++];
            int h = word_uni[j++];
            char c = (char) ((l & 0xff) | ((h << 8) & 0xff00));
            stringbuffer.append(c);
        }
        strReturn = stringbuffer.toString();
    } catch (IOException ex) {
        System.out.println(ex);
    } finally {
        is = null;
    }
    return strReturn;
}

二、读取UTF-8文件

/**
 * 读取UTF-8编码文本文件
 * @param resource String - 文件名
 * @return String - UTF-8文本
 */
public static String read_UTF(String resource) {
    byte word_utf[] = new byte[1024];
    String strReturn = null;
    InputStream is;
    try {
        is = instance.getClass().getResourceAsStream(resource);
        is.read(word_utf);
        is.close();
        strReturn = new String(word_utf, "UTF-8");
    } catch (IOException ex) {
        System.out.println(ex);
    }
    return strReturn;
}