私はアセットフォルダーに、珍しい文字を含むコンテンツを含む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� hole� es un vet�l�l� Hol� hole� es un vet�l�l� Hol� hole� es un vet�l�l� Hol� hole� es un vet�l�l� vet�l�l� Hol� hole� es un vet�l�l�</p>
私は何が悪いのですか?ASSETS からそのテキストを正しく読み取るにはどうすればよいですか?