彻底解决android读取中文txt的乱码(自动判断文档类型并转码

原创 2011年01月14日 13:36:00

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;
        }
代码不难,觉得有用的可以顶一下。

彻底解决android读取中文txt,lrc的乱码(自动判断文档类型并转码)

这几天在研究android的播放器,在读取歌词的时候,老是乱码,使我很纠结: 今天在网上看到一个文件转码的文章,彻底解决了我的乱码问题,这样我就不用自己去手动的转码lrc歌词文件你的编码了,现在与大...
  • vicken520
  • vicken520
  • 2013年02月03日 22:58
  • 3923

读取txt的中文字符出现乱码的解决方法

第一种方法:(不知道文件的编码),那通过"另存为"把你不知道的txt编码改为UFT-8,弄一个新的文件。      第二种方法,(知道文件的编码)用inputstreamreader...
  • qq_28950007
  • qq_28950007
  • 2016年02月28日 17:45
  • 928

android解决读取assets文件夹下的json或txt文件乱码问题

我的是要读本地的json文件 怎么读都是乱码 各种犯难 ,到最后 解决了 原来那么简单.... 解决方法如下:...
  • a100488
  • a100488
  • 2015年09月21日 15:10
  • 2368

文章标题 解决IDEA读取txt文本中显示的中文乱码问题

明确:出现乱码的原因主要是系统的编码和程序的编码采用了不同的编码格式,windows自身采用的编码格式是GBK,而IDEA中默认是UTF-8的编码,用户写完了直接保存的txt文档一般不是UTF-8的编...
  • Blinstar
  • Blinstar
  • 2017年07月28日 16:12
  • 641

java读取、写入(读写)txt文件中文乱码问题(相对应编码)及修改eclipse默认编码

java读取、写入(读写)txt文件中文乱码问题(相对应编码)
  • u010343388
  • u010343388
  • 2014年11月24日 00:18
  • 5510

InputStreamReader读取文件出现乱码

InputStreamReader读取文件出现部分乱码
  • zhangfengBX
  • zhangfengBX
  • 2017年08月07日 11:03
  • 205

PHP读取文件中文乱码UTF-8;

//                        $opts = array( //                            'file' => array( //        ...
  • zh89233
  • zh89233
  • 2014年09月12日 11:50
  • 5227

常见的编码格式/txt文件乱码

常见的编码格式  比较常见的编码格式大体上可以分为ASCII编码和Unicode编码。 ASCII编码 ASCII编码:是出现最早的编码格式。属于单字节编码ASCII码使用7bit表示一个字符,共1...
  • G1248019684
  • G1248019684
  • 2016年01月29日 09:16
  • 4407

关于web工程jsp@include 包含html和txt乱码问题的解决办法

前几天学JSP,发现当           会出现乱码的情况,但是  就不会出现乱码情况。 然后看了好多的博客修改了很多地方,将所有的文件都改为UTF-8,或者gbk、gb2312,然并卵。包括修改...
  • yangshuai6813
  • yangshuai6813
  • 2015年09月16日 23:42
  • 1058

VIM中文乱码原理详解及终极解决方案[经典]

此文讲解的是vim编辑多字节编码文档(中文)所要了解的一些基础知识,注意其没有涉及gvim,纯指字符终端下的vim。 vim编码方面的基础知识: 1. 存在3个变量: encoding—-该选项...
  • mjj291268154
  • mjj291268154
  • 2016年07月20日 15:15
  • 914
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:彻底解决android读取中文txt的乱码(自动判断文档类型并转码
举报原因:
原因补充:

(最多只允许输入30个字)