读取text文档中文内容乱码以及string中文编码判断

读取一个text文件,win系统默认编码方式为gbk,

BufferedReader tBufferedReader = new BufferedReader(new InputStreamReader(tInputStream));

这样读取,会造成中文乱码.

设置读取编码gbk, java会自动将gbk转成utf-8

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 "";  
	} 


你可能感兴趣的:(读取text文档中文内容乱码以及string中文编码判断)