-1

我在资产文件夹中有一个 txt 文件,其中包含稀有字符的内容,例如以下内容:

你好

Holà holá es un vetélélà Holà holá es un vetélélà Holà holá es un vetélélà Holà holá es un vetélélà Holà holá es un veté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. es un vet.l.l. Hol. hol. es un vet.l. Hol. hol. es un vet.l.l. Hol. hol. es un vet.l.l. Hol. hol. es un vet.l.l.</p>

我在做什么坏事?如何从 ASSETS中正确读取该文本?

4

1 回答 1

0

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

非常感谢 njzk2

于 2013-01-07T15:21:19.860 回答