Android打开Txt中文乱码的解决方案
来源:互联网 发布:mac双系统恢复单系统 编辑:程序博客网 时间:2024/06/06 17:35
原理是找到文档的前三个字节并自动判断文档类型,然后进行转码操作。
原文:
http://blog.csdn.net/handsomedylan/article/details/6138400
亲测可用。
public String convertCodeAndGetText(String str_filepath) {// 转码 File file = new File(str_filepath); BufferedReader reader; String text = ""; try { // FileReader f_reader = new FileReader(file); // BufferedReader reader = new BufferedReader(f_reader); FileInputStream fis = new FileInputStream(file); BufferedInputStream in = new BufferedInputStream(fis); in.mark(4); byte[] first3bytes = new byte[3]; in.read(first3bytes);//找到文档的前三个字节并自动判断文档类型。 in.reset(); if (first3bytes[0] == (byte) 0xEF && first3bytes[1] == (byte) 0xBB && first3bytes[2] == (byte) 0xBF) {// utf-8 reader = new BufferedReader(new InputStreamReader(in, "utf-8")); } else if (first3bytes[0] == (byte) 0xFF && first3bytes[1] == (byte) 0xFE) { reader = new BufferedReader( new InputStreamReader(in, "unicode")); } else if (first3bytes[0] == (byte) 0xFE && first3bytes[1] == (byte) 0xFF) { reader = new BufferedReader(new InputStreamReader(in, "utf-16be")); } else if (first3bytes[0] == (byte) 0xFF && first3bytes[1] == (byte) 0xFF) { reader = new BufferedReader(new InputStreamReader(in, "utf-16le")); } else { reader = new BufferedReader(new InputStreamReader(in, "GBK")); } String str = reader.readLine(); while (str != null) { text = text + str + "/n"; str = reader.readLine(); } reader.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return text;}
0 0
- Android打开Txt中文乱码的解决方案
- Linux下打开txt文件中文显示乱码的解决方案
- android读取中文txt乱码 解决方案
- Android 读取TXT 文件中文乱码 解决方案
- android写入txt文件防止中文乱码终极版(解决方案)
- ios用UIWebView打开txt乱码的解决方案
- ios用UIWebView打开txt乱码的解决方案
- ubuntu 12.04下打开txt文件出现乱码的解决方案
- gedit打开txt文件中文乱码的解决方法
- ubuntu12.04 txt文件打开乱码 解决方案
- Ultraedit打开中文乱码解决方案
- Ubuntu10.04 gedit打开中文txt乱码
- openfiledialog 打开txt文件 textbox 中文乱码
- ubuntu打开txt中文乱码解决
- UIWebview打开.txt文件中文乱码解决
- myeclipse jsp editor打开jsp的中文乱码解决方案
- Android HttpPost数据中文乱码的解决方案
- Android HttpPost数据中文乱码的解决方案
- 二维指针创建堆级别的二维数组
- 关于Andriod Daydream,Daydream学习方法,如何学习Google Daydream,Daydream实例
- Thinkphp框架,D 和 M 的 区 别
- Linux ntpdate同步网络时间
- TypeToken
- Android打开Txt中文乱码的解决方案
- 用JAVA程序编写实现求一个阶乘数的得数末尾有几个零
- web前端开发分享-css,js进阶篇
- sqlite vs2010 集成
- hihoCoder #1288 : Font Size
- 顺序表应用3:元素位置互换之移位算法
- 嵌入式开发第47天(看门狗定时器的原理)
- 坚持#第45天~
- 算法分析中的函数