读取一个text文件,win系统默认编码方式为gbk,
BufferedReader tBufferedReader = new BufferedReader(new InputStreamReader(tInputStream));
这样读取,会造成中文乱码.
BufferedReader tBufferedReader = new BufferedReader(new InputStreamReader(tInputStream, "gbk"));
判断字符串编码方式的方法,网上找的,还不错
/**
* 判断字符串的编码
*
* @param str
* @return
*/
public String getEncoding(String str) {
String encode[] = new String[]{
"UTF-8",
"ISO-8859-1",
"GB2312",
"GBK",
"GB18030",
"Big5",
"Unicode",
"ASCII"
};
for (int i = 0; i < encode.length; i++){
try {
if (str.equals(new String(str.getBytes(encode[i]), encode[i]))) {
return encode[i];
}
} catch (Exception ex) {
}
}
return "";
}