从具有稀有字符的资产中读取文本文件时出现问题(áéàè...)

时间:2013-01-07 15:08:35

标签: android text-files inputstream assets bytearrayoutputstream

我在资源文件夹中有一个txt文件,其内容包含稀有字符,例如使用此内容:

  

HOLA

     

HolàholáesunvetélélàHolàholáesunvetélélàHolàholáesun   vetélélàHolàholáesunvetélélàHolàholáesunvetélélà

我正在使用此代码从资源中读取txt文件并将其存储在字符串中:

public static String readTxt(Context context, String fileName){
    try {           
        AssetManager am = context.getAssets();
        InputStream is = am.open(fileName);         
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();          
        int i= is.read(); 

        while (i != -1){
            byteArrayOutputStream.write(i);
            i = is.read();
        }
        is.close();                     
        return byteArrayOutputStream.toString();
    } catch (Exception e) {e.printStackTrace();}
    return "";
}

文本正在以正确的格式呈现(空格和行跳转正常),但罕见的字符(áàéè...)未正确呈现。我正在读这个:

  

Hola \ r \ n \ r \nHol hol esunvet l l Hol hol esunvet l l Hol   hol veunvet l l Hol hol esunvet l l Hol hol esunvet l l

我做得不好?如何正确地从ASSETS

中读取该文本

1 个答案:

答案 0 :(得分:0)

我只需要使用byteArrayOutputStream.toString(“UTF-8”)获取字符串;并使用UTF-8编码存储txt文件:)

非常感谢njzk2